คัดลอกรหัสรหัส ดังต่อไปนี้:
แพ็คเกจส่งออก.excel;
นำเข้า java.io.BufferedInputStream;
นำเข้า java.io.BufferedOutputStream;
นำเข้า java.io.File;
นำเข้า java.io.FileInputStream;
นำเข้า java.io.FileOutputStream;
นำเข้า java.io.OutputStream;
นำเข้า java.util.ArrayList;
นำเข้า java.util.List;
นำเข้า java.util.สุ่ม;
นำเข้า jxl.Cell;
นำเข้า jxl.Sheet;
นำเข้า jxl.Workbook;
นำเข้า jxl.format.Alignment;
นำเข้า jxl.format.VerticalAlignment;
นำเข้า jxl.write.Label;
นำเข้า jxl.write.WritableCellFormat;
นำเข้า jxl.write.WritableSheet;
นำเข้า jxl.write.WritableWorkbook;
นำเข้าส่งออก vo.PersonVo;
/**ส่งออกไฟล์ Excel
-
* @ผู้เขียน ผู้สัญจรโดย A
-
-
คลาสสาธารณะ ExportExcel {
รายการสาธารณะ <PersonVo> personVoList;
สาธารณะส่งออกExcel()
-
ข้อมูลเริ่มต้น();
-
-
* ข้อมูลการเริ่มต้น
-
initdata โมฆะสาธารณะ ()
-
// ฟังก์ชั่นสุ่ม
สุ่ม สุ่ม = สุ่มใหม่();
personVoList = ArrayList ใหม่<PersonVo>();
//เริ่มต้น 100 คนเข้าสู่คอลเลกชัน
PersonVo personVo = null;
สำหรับ (int i = 0; i < 100; i++)
-
personVo = PersonVo ใหม่ ();
personVo.setId("" + i);
personVo.setName("สัญจรโดย" + i);
ถ้า (i%2==0)
-
personVo.setSex("ชาย");
-
อื่น
-
personVo.setSex("เพศหญิง");
-
//สุ่มอายุภายใน 100 ปี
personVo.setAge("" + Random.nextInt(100));
personVoList.add(personVo);
-
-
/**ส่งออกข้อมูลในรูปแบบ Excel
* ExportName ชื่อไฟล์ส่งออก
* @param ส่งออกชื่อ
-
ผู้ส่งออกโมฆะสาธารณะ (สตริงชื่อส่งออก)
-
พยายาม{
ไฟล์ excelFile = ไฟล์ใหม่ (ชื่อส่งออก + "Temp.xls");
// รูปแบบไฟล์
รูปแบบ WritableCellFormat = รูปแบบ WritableCellFormat ใหม่ ();
// x ไปทางซ้าย
format.setAlignment(การจัดตำแหน่ง.ขวา);
// ด้านบน
format.setVerticalAlignment(VerticalAlignment.TOP);
//สร้างไฟล์การทำงาน
WritableWorkbook writableWorkbook = Workbook.createWorkbook(excelFile);
//สร้างสมุดงาน
WritableSheet sheet1 = writableWorkbook.createSheet("รายการข้อมูลส่วนบุคคล", 0);
//สร้างจำนวนแถวและกำหนดความกว้างของแถว
sheet1.setColumnView(0, 10);
sheet1.setColumnView(1, 10);
sheet1.setColumnView(2, 10);
sheet1.setColumnView(3, 10);
//ตั้งค่าแถว
sheet1.addCell(ป้ายกำกับใหม่ (0, 0, "ID", รูปแบบ));
sheet1.addCell(ป้ายกำกับใหม่ (1, 0, "ชื่อ", รูปแบบ));
sheet1.addCell(ป้ายกำกับใหม่ (2, 0, "เพศ", รูปแบบ));
sheet1.addCell(ป้ายกำกับใหม่ (3, 0, "อายุ", รูปแบบ));
//เขียนคอลเลกชันลงใน Excel
int rowNum = 1;
สำหรับ (PersonVo bean : personVoList)
-
int colspanNum = 0;
sheet1.addCell(ป้ายกำกับใหม่ (colspanNum, rowNum, bean.getId(), รูปแบบ));
sheet1.addCell(ป้ายกำกับใหม่ (colspanNum++, rowNum, bean.getName(), รูปแบบ));
sheet1.addCell(ป้ายกำกับใหม่ (colspanNum++, rowNum, bean.getSex(), รูปแบบ));
sheet1.addCell(ป้ายกำกับใหม่ (colspanNum++, rowNum, bean.getAge(), รูปแบบ));
แถวหมายเลข++;
-
เขียนได้Workbook.write();
เขียนได้Workbook.close();
// หากดาวน์โหลดจากอินเทอร์เน็ตให้เขียนสิ่งเหล่านี้
// super.getHttpServletResponse().setContentType("application/x-msdownload");
// String encodetittle = new String(excelName.getBytes("GBK"), "ISO-8859-1");
// super.getHttpServletResponse().addHeader("การจัดการเนื้อหา", "ไฟล์แนบ; filename="+encodetittle+".xls");
FileInputStream finput = FileInputStream ใหม่ (excelFile);
// OutputStream เอาต์พุต = super.getHttpServletResponse().getOutputStream();
ไฟล์ fout = ไฟล์ใหม่ (ชื่อส่งออก + ".xls");
OutputStream output = FileOutputStream ใหม่ (fout);
BufferedInputStream buffin = BufferedInputStream ใหม่ (finput);
BufferedOutputStream buffout = ใหม่ BufferedOutputStream (เอาต์พุต);
ไบต์ [] บัฟเฟอร์ = ไบต์ใหม่ [4096];
นับจำนวน = 0;
ในขณะที่ ((นับ = buffin.read (บัฟเฟอร์, 0, buffer.length)) > 0) {
buffout.write (บัฟเฟอร์, 0, นับ);
-
บัฟฟิน.ปิด();
บัฟเอาท์.ปิด();
finput.ปิด();
เอาท์พุท.ปิด();
excelFile.delete();
-
จับ (ข้อยกเว้นจ) {
e.printStackTrace();
-
ในที่สุด
-
System.out.println("การดำเนินการส่งออกเสร็จสมบูรณ์");
-
-
/**ข้อมูลที่นำเข้าจะถูกส่งออกในรูปแบบ Excel
-
* @param importExcel นำเข้าชื่อไฟล์ Excel
-
โมฆะสาธารณะ importPerson (สตริง importExcel)
-
พยายาม{
ไฟล์ excelFile = ไฟล์ใหม่ (importExcel+".xls");
//สร้างไฟล์การทำงาน
สมุดงานสมุดงาน = Workbook.getWorkbook(excelFile);
// รับสมุดงานเล่มแรก มีสองวิธีในการรับแผ่นงาน 1 คือชื่อและตัวห้อยเริ่มต้นจาก 0
แผ่นงาน = workbook.getSheet(0);
// จำนวนบันทึกทั้งหมด
int allRow = sheet.getRows();
int allColspan = sheet.getColumns();
System.out.println(ทุกแถว);
System.out.println(allColspan);
//รับข้อมูล
สำหรับ (int i=0; i<allRow; i++)
-
// รับค่าของแต่ละคอลัมน์
สำหรับ (int j=0; j<allColspan; j++)
-
// sheet.getCell(จำนวนคอลัมน์, จำนวนแถว);
เซลล์เซลล์ = sheet.getCell(j, i);
//พิมพ์ค่าของคอลัมน์นี้
System.out.print(cell.getContents() + "/t");
-
System.out.println();
-
//ปิด
สมุดงาน.ปิด();
} จับ (ข้อยกเว้นจ) {
e.printStackTrace();
-
ในที่สุด
-
System.out.println("การดำเนินการนำเข้าเสร็จสมบูรณ์");
-
-
-
* @param args
-
โมฆะคงที่สาธารณะ main (String [] args) {
ExportExcel ExportExcel = ใหม่ ExportExcel();
//กำหนดเส้นทาง
สตริง srcPath = "C:/Quarantine/PersonVo";
//ส่งออก
//exportExcel.exportPerson(srcPath);
// อ่าน
ส่งออกExcel.importPerson(srcPath);
-
-