Copy kode kodenya sebagai berikut:
paket ekspor.excel;
impor java.io.BufferedInputStream;
impor java.io.BufferedOutputStream;
impor java.io.File;
impor java.io.FileInputStream;
impor java.io.FileOutputStream;
impor java.io.OutputStream;
impor java.util.ArrayList;
impor java.util.List;
import java.util.Acak;
impor jxl.Sel;
impor jxl.Sheet;
impor jxl.Buku Kerja;
import jxl.format.Penjajaran;
import jxl.format.VerticalAlignment;
import jxl.write.Label;
impor jxl.write.WritableCellFormat;
impor jxl.write.WritableSheet;
impor jxl.write.WritableWorkbook;
impor ekspor.vo.PersonVo;
/**Ekspor file excel
*
* @penulis pejalan kaki A
*
*/
Ekspor kelas publikExcel {
Daftar publik<PersonVo> personVoList;
ekspor publikExcel()
{
initdata();
}
/**
* Inisialisasi data
*/
kekosongan publik initdata()
{
// fungsi acak
Acak acak = baru Acak();
personVoList = Daftar Array baru<PersonVo>();
//Inisialisasi 100 orang ke dalam koleksi
PersonVo personVo = null;
untuk (int saya = 0; saya < 100; saya++)
{
personVo = PersonVo baru();
personVo.setId("" + saya);
personVo.setName("pejalan kaki" + i);
jika (i%2==0)
{
personVo.setSex("pria");
}
kalau tidak
{
personVo.setSex("perempuan");
}
// Dapatkan usia acak dalam 100 tahun
personVo.setAge("" + acak.nextInt(100));
personVoList.tambahkan(personVo);
}
}
/**Ekspor data dalam format Excel
* nama file ekspor nama ekspor
* @param nama ekspor
*/
kekosongan publik eksportPerson(String nama ekspor)
{
mencoba{
File excelFile = File baru(namaekspor + "Temp.xls");
// format berkas
Format WritableCellFormat = baru WritableCellFormat();
// x ke kiri
format.setAlignment(Alignment.RIGHT);
// kamu atas
format.setVerticalAlignment(VerticalAlignment.TOP);
//Buat file yang berfungsi
WritableWorkbook writableWorkbook = Buku Kerja.createWorkbook(excelFile);
//Buat buku kerja
WritableSheet sheet1 = writableWorkbook.createSheet("Daftar Informasi Pribadi", 0);
//Buat jumlah baris dan atur lebar baris
sheet1.setColumnView(0, 10);
sheet1.setColumnView(1, 10);
sheet1.setColumnView(2, 10);
sheet1.setColumnView(3, 10);
//Tetapkan nilai baris
sheet1.addCell(Label baru(0, 0, "ID", format));
sheet1.addCell(Label baru(1, 0, "Nama", format));
sheet1.addCell(Label baru(2, 0, "Jenis Kelamin", format));
sheet1.addCell(Label baru(3, 0, "Umur", format));
//Tulis koleksinya ke dalam excel
int nomor baris = 1;
untuk (Kacang PersonVo : personVoList)
{
int colspanNum = 0;
sheet1.addCell(Label baru(colspanNum, rowNum, bean.getId(), format));
sheet1.addCell(Label baru(colspanNum++, rowNum, bean.getName(), format));
sheet1.addCell(Label baru(colspanNum++, rowNum, bean.getSex(), format));
sheet1.addCell(Label baru(colspanNum++, rowNum, bean.getAge(), format));
nomor baris++;
}
writeableWorkbook.write();
writeableWorkbook.close();
// Jika diunduh dari Internet, tulis ini
// super.getHttpServletResponse().setContentType("aplikasi/x-msdownload");
// String encodetittle = String baru(excelName.getBytes("GBK"), "ISO-8859-1");
// super.getHttpServletResponse().addHeader("Disposisi Konten","attachment;filename="+encodetittle+".xls");
FileInputStream finput = FileInputStream baru(file excel);
// OutputStream keluaran = super.getHttpServletResponse().getOutputStream();
File fout = File baru(namaekspor + ".xls");
OutputStream keluaran = FileOutputStream baru(fout);
BufferedInputStream buffin = BufferedInputStream baru(finput);
BufferedOutputStream buffout = BufferedOutputStream baru(keluaran);
byte[] penyangga = byte baru[4096];
int hitungan = 0;
while ((count = buffin.read(buffer, 0, buffer.length)) > 0) {
buffout.write(buffer, 0, hitung);
}
buffin.close();
buffout.close();
finput.close();
keluaran.close();
excelFile.hapus();
}
tangkapan (Pengecualian e) {
e.printStackTrace();
}
Akhirnya
{
System.out.println("Selesaikan operasi ekspor");
}
}
/**Data yang diimpor diekspor dalam format Excel
*
* @param importExcel Impor nama file Excel
*/
kekosongan publik importPerson(String importExcel)
{
mencoba{
File excelFile = File baru(importExcel+".xls");
//Buat file yang berfungsi
Buku kerja buku kerja = Buku Kerja.getWorkbook(excelFile);
// Dapatkan buku kerja pertama. Ada dua cara untuk mendapatkan sheet. 1 adalah namanya dan subskripnya dimulai dari 0.
Lembar lembar = buku kerja.getSheet(0);
//Jumlah total catatan
int allRow = lembar.getRows();
int allColspan = lembar.getColumns();
System.out.println(allRow);
Sistem.keluar.println(allColspan);
// Dapatkan data
untuk (int i=0; i<allRow; i++)
{
// Dapatkan nilai setiap kolom
untuk (int j=0; j<allColspan; j++)
{
// sheet.getCell(jumlah kolom, jumlah baris);
Sel sel = sheet.getCell(j, i);
//Cetak nilai kolom ini
Sistem.keluar.cetak(sel.getContents() + "/t");
}
Sistem.keluar.println();
}
//penutup
buku kerja.close();
}menangkap (Pengecualian e) {
e.printStackTrace();
}
Akhirnya
{
System.out.println("Selesaikan operasi impor");
}
}
/**
* @param argumen
*/
public static void main(String[] args) {
EksporExcel eksporExcel = baru EksporExcel();
//Tetapkan jalur
String srcPath = "C:/Karantina/PersonVo";
//Ekspor
// eksporExcel.exportPerson(srcPath);
// membaca
eksporExcel.importPerson(srcPath);
}
}