1. บทนำ
รายงานมักเกี่ยวข้องกับการพัฒนาเว็บ Java ในโครงการล่าสุดเราจำเป็นต้องแสดงข้อมูลในฐานข้อมูลเป็นตารางและส่งออกเป็นไฟล์ Excel
2. แพ็คเกจขวดที่เกี่ยวข้อง
การใช้ POI สามารถแก้ปัญหาของ Excel นำเข้าและส่งออกได้ดี POI ดาวน์โหลดที่อยู่:
POI-3.6-20091214.JAR
3. รหัสคีย์
นำเข้าแพ็คเกจ Jar ข้างต้นก่อน
เมื่อสร้าง Excel แบบฟอร์มแหล่งข้อมูลทั่วไปเป็นรายการ ต่อไปนี้เป็นรหัสที่สร้างรูปแบบ Excel:
/ *** ต่อไปนี้คือการสร้างการดำเนินการ Excel*/ // 1. สร้างสมุดงานที่สอดคล้องกับไฟล์ excel, hssfworkbook wb = hssfworkbook ใหม่ (); // 2. เพิ่มแผ่นงานในสมุดงานที่สอดคล้องกับแผ่นงานใน Excel HSSFSheet Sheet = WB.Createsheet ("ตาราง xxx"); // 3. เพิ่มแถวที่ 0 ของส่วนหัวของตารางในแผ่นงาน POI รุ่นเก่ามีขีด จำกัด เกี่ยวกับจำนวนแถว Excel แถวสั้น HSSFrow Row = Sheet.Createrow ((int) 0); // 4. สร้างเซลล์ตั้งค่าส่วนหัวตารางค่าและตั้งส่วนหัวตารางเป็นศูนย์ HSSFCELLSTYLE = WB.CreateCellStyle (); // รูปแบบศูนย์รูปแบบการจัดตำแหน่ง (hssfcellstyle.align_center); // ตั้งค่าส่วนหัวของตาราง hssfcell เซลล์ = row.createCell (0); cell.setCellValue ("Table Header1"); cell.setcellstyle (สไตล์); เซลล์ = row.createCell (1); cell.setCellValue ("Table Header2"); cell.setcellstyle (สไตล์); เซลล์ = row.createCell (2); cell.setCellValue ("ส่วนหัวของตาราง 3"); cell.setcellstyle (สไตล์); เซลล์ = row.createCell (3); cell.setCellValue ("ส่วนหัวตาราง 4"); cell.setcellstyle (สไตล์); เซลล์ = row.createCell (4); cell.setCellValue ("ส่วนหัวตาราง 5"); cell.setcellstyle (สไตล์);หลังจากสร้างรูปแบบ Excel คุณต้องเขียนข้อมูลไปที่ Excel:
// loop เพื่อเขียนข้อมูลไปยัง excel สำหรับ (int i = 0; i <lists.size (); i ++) {row = sheet.createrow ((int) i+1); รายการรายการ = lists.get (i); // สร้างเซลล์และตั้งค่า row.createCell (0) .setCellValue (list.getxxx ()); row.createCell (1) .setCellValue (list.getxxx ()); row.createCell (2) .setCellValue (list.getxxx ()); row.createCell (3) .setCellValue (list.getxxx ()); row.createCell (3) .setCellValue (list.getxxx ()); row.createCell (4) .setCellValue (list.getxxx ()); - Excel ที่ได้จะเป็นเอาต์พุตเป็นสตรีม
*ไม่มีกล่องดาวน์โหลดปรากฏขึ้น
fileOutputStream out = new fileOutputStream ("e: /xxx.xls"); wb.write (out); out.close ();*เปิดกล่องดาวน์โหลด
String filename = "ตาราง xxx"; ByTeArrayOutputStream OS = New ByteArrayOutputStream (); wb.write (OS); ไบต์ [] content = os.tobytearray (); InputStream คือ = New ByteArrayInputStream (เนื้อหา); // ตั้งค่าพารามิเตอร์การตอบกลับเพื่อเปิดหน้าดาวน์โหลด res.reset (); Res.SetContentType ("Application/vnd.ms-excel; charset = utf-8"); Res.SetheAder ("เนื้อหา-การจัดสรร", "เอกสารแนบ; filename =" + สตริงใหม่ ((ชื่อไฟล์ + ".xls"). getBytes (), "ISO-8859-1")); servletoutputStream out = res.getOutputStream (); bufferedInputStream bis = null; bufferedOutputStream bos = null; ลอง {bis = ใหม่ bufferedInputStream (IS); BOS = ใหม่ bufferedOutputStream (out); ไบต์ [] buff = ไบต์ใหม่ [2048]; int bytesread; // การอ่าน/เขียนแบบง่าย ในขณะที่ (-1! = (bytesRead = bis.read (buff, 0, buff.length)) {bos.write (buff, 0, bytesRead); }} catch (exception e) {// todo: จัดการข้อยกเว้น e.printstacktrace (); } ในที่สุด {ถ้า (bis! = null) bis.close (); ถ้า (bos! = null) bos.close (); - หลังจากเสร็จสิ้นการดำเนินการข้างต้นคุณสามารถข้ามไปยังหน้าอื่น ๆ ได้
ในเวลาเดียวกัน POI ยังสามารถแสดงการอัปโหลดและการแยกวิเคราะห์ Excel บนหน้าเว็บ โปรดติดตามความคืบหน้าสำหรับบทสรุปบทความอื่น ๆ นี้!
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น