รายงานผลลัพธ์เป็นเนื้อหาที่มักเกี่ยวข้องกับการพัฒนาแอปพลิเคชัน Java และรายงานทั่วไปมักจะขาดความเป็นสากลและไม่สะดวกสำหรับผู้ใช้ในการแก้ไขส่วนบุคคล เนื่องจากคุณสมบัติข้ามแพลตฟอร์มโปรแกรม Java จึงไม่สามารถจัดการกับ Excel ได้โดยตรง ดังนั้นบทความนี้กล่าวถึงโปรแกรม Java ที่มองเห็น POI สำหรับการอ่านและการนำเข้า Excel
โครงสร้างโครงการ:
java_poi_excel
ใช้ไฟล์ Excel:
XLS
คลาส XLSMAIN .JAVA
// คลาสนี้มีวิธีการหลักซึ่งส่วนใหญ่รับผิดชอบในการเรียกใช้โปรแกรม ในเวลาเดียวกันคลาสนี้ยังรวมถึงการอ่าน excel ด้วย poi (เวอร์ชั่น 2003) นำเข้า java.io.fileinputstream; นำเข้า java.io.ioexception; นำเข้า java.io.inputstream; นำเข้า java.util.arraylist; นำเข้า Java.util.List; org.apache.poi.hssf.usermodel.hssfcell นำเข้า org.apache.poi.hssf.usermodel.hssfrow; นำเข้า org.apache.poi.hssf.usermodel.hssfsheet; /** * * @author hongten </br> * * */คลาสสาธารณะ xlsmain {โมฆะคงที่สาธารณะหลัก (สตริง [] args) พ่น ioexception {xlsmain xlsmain = new xlsmain (); XLSDTO XLS = NULL; รายการ <xlsdto> list = xlsmain.readxls (); ลอง {xlsdto2excel.xlsdto2excel (รายการ); } catch (exception e) {e.printstacktrace (); } สำหรับ (int i = 0; i <list.size (); i ++) {xls = (xlsdto) list.get.get (i); System.out.println (xls.getxh () + "" + xls.getxm () + "" + xls.getyxsmc () + "" + xls.getkcm () + "" + xls.getkcm () + "" xls.getcj ()); }}/*** อ่านเนื้อหาของไฟล์ XLS** @return list <XLSDTO> Object* @throws iOexception* อินพุต/เอาต์พุต (I/O) ข้อยกเว้น*/รายการส่วนตัว <XLSDTO> readxls () โยน iOexception hssfworkbook hssfworkbook = new hssfworkbook (IS); XLSDTO XLSDTO = NULL; รายการ <XLSDTO> list = new ArrayList <XLSDTO> (); // แผ่นชีทลูปสำหรับ (int numsheet = 0; numsheet <hssfworkbook.getNumberOfSheets (); numsheet ++) {hssfsheet hssfsheet = hssfworkbook.getsheetat (numsheet); if (hssfsheet == null) {ดำเนินการต่อ; } // แถววนรอบแถวสำหรับ (int rownum = 1; rownum <= hssfsheet.getLastrownum (); rownum ++) {hssfrow hssfrow = hssfsheet.getrow (Rownum); if (hssfrow == null) {ดำเนินการต่อ; } xlsdto = new xlsdto (); // loop คอลัมน์เซลล์ // 0 นักเรียนหมายเลข 1 ชื่อ 2 วิทยาลัย 3 ชื่อหลักสูตร 4 คะแนน // สำหรับ (int cellnum = 0; cellnum <= 4; cellnum ++) {hssfcell xh = hssfrow.getcell (0); if (xh == null) {ดำเนินการต่อ; } xlsdto.setxh (getValue (xh)); hssfcell xm = hssfrow.getcell (1); if (xm == null) {ดำเนินการต่อ; } xlsdto.setxm (getValue (xm)); hssfcell yxsmc = hssfrow.getcell (2); if (yxsmc == null) {ดำเนินการต่อ; } xlsdto.setyxsmc (getValue (yxsmc)); hssfcell kcm = hssfrow.getcell (3); if (kcm == null) {ดำเนินการต่อ; } xlsdto.setkcm (getValue (kcm)); hssfcell cj = hssfrow.getcell (4); if (cj == null) {ดำเนินการต่อ; } xlsdto.setcj (float.parsefloat (getValue (cj))); list.add (XLSDTO); }} รายการส่งคืน; } / ** * รับค่าในตาราง excel * * @param hssfcell * ทุกกริดใน excel * @return ค่าในแต่ละกริดใน excel * / @suppresswarnings ("access-access") สตริงส่วนตัว getValue (hssfcell hssfcell) hssfcell.cell_type_boolean) {// ส่งคืนค่าของสตริงส่งคืนประเภทบูลีน Valueof (hssfcell.getBooleanCellValue ()); } อื่นถ้า (hssfcell.getCellType () == hssfcell.cell_type_numeric) {// ส่งคืนค่าของสตริงการส่งคืนประเภทตัวเลข (hssfcell.getNumericCellValue (); } else {// ส่งคืนค่าของสตริงประเภท return string.valueof (hssfcell.getStringCellValue ()); -คลาส XLSDTO2EXCEL.JAVA
// คลาสนี้ส่วนใหญ่รับผิดชอบในการแทรกข้อมูลลงใน Excel (เวอร์ชัน 2003) นำเข้า Java.io.FileOutputStream; นำเข้า java.io.OutputStream; นำเข้า java.util.list; นำเข้า org.apache.poi.hssf.usermodel.hssfcell; นำเข้า org.apache.poi.hssf.usermodel.hssfrichtextstring; นำเข้า org.apache.poi.hssf.usermodel.hssfsheet; คลาสสาธารณะ XLSDTO2EXCEL { / ** * * @Param XLS * วัตถุของคลาส XLSDTO เอนทิตี * @THROWS ยกเว้น * โยนข้อยกเว้นระหว่างการนำเข้า Excel * / โมฆะสาธารณะ XLSDTO2Excel (รายการ <xlsdto> xls) // สร้างเอกสาร excel hssfworkbook hwb = new hssfworkbook (); XLSDTO XLSDTO = NULL; // แผ่นสอดคล้องกับหน้างาน hssfsheet แผ่น = hwb.createsheet ("pldrxkxxmb"); hssfrow firstrow = sheet.createrow (0); // เริ่มต้นบรรทัดด้วยตัวห้อย 0 hssfcell [] firstCell = ใหม่ hssfcell [countColumnNum]; สตริง [] ชื่อ = สตริงใหม่ [CountColumnNum]; ชื่อ [0] = "หมายเลขนักเรียน"; ชื่อ [1] = "ชื่อ"; ชื่อ [2] = "วิทยาลัย"; ชื่อ [3] = "ชื่อหลักสูตร"; ชื่อ [4] = "คะแนน"; สำหรับ (int j = 0; j <countColumnnum; j ++) {FirstCell [j] = firstrow.createCell (j); FirstCell [j] .setCellValue (ใหม่ hssfrichtextString (ชื่อ [j])); } สำหรับ (int i = 0; i <xls.size (); i ++) {// สร้างแถวของแถว hssfrow = sheet.createrow (i+1); // รับทุกบันทึกที่จะแทรก xlsdto = xls.get (i); สำหรับ (int colu = 0; colu <= 4; colu ++) {// loop ในแถว hssfcell xh = row.createCell (0); XH.SetCellValue (xlsdto.getxh ()); hssfcell xm = row.createCell (1); XM.SetCellValue (XLSDTO.getXM ()); hssfcell yxsmc = row.createCell (2); yxsmc.setCellValue (xlsdto.getyxsmc ()); hssfcell kcm = row.createCell (3); KCM.SetCellValue (XLSDTO.GETKCM ()); hssfcell cj = row.createCell (4); CJ.SetCellValue (XLSDTO.GETCJ ()); (XLSDTO.getMessage ()); }} // สร้างสตรีมเอาท์พุทไฟล์และเตรียมสเปรดชีตเอาต์พุตเอาท์พุทเทียมออก = ใหม่ fileOutputStream ("POI2EXCEL/PLDRXKXXMB.XLS"); hwb.write (ออก); out.close (); System.out.println ("การส่งออกฐานข้อมูลสำเร็จ"); -คลาส XLSDTO .Java
// คลาสนี้เป็นคลาสสาธารณะคลาสสาธารณะ XLSDTO {/*** หมายเลขการเลือกหลักสูตร*/จำนวนเต็มส่วนตัว XKH; / *** หมายเลขนักเรียน*/ สตริงส่วนตัว XH; / *** ชื่อ*/ สตริงส่วนตัว xm; / *** วิทยาลัย*/ สตริงส่วนตัว yxsmc; / *** หมายเลขหลักสูตร*/ จำนวนเต็มส่วนตัว kch; / *** ชื่อหลักสูตร*/ สตริงส่วนตัว kcm; / *** คะแนน*/ private float cj; สาธารณะจำนวนเต็ม getxkh () {return xkh; } โมฆะสาธารณะ setxkh (จำนวนเต็ม xkh) {this.xkh = xkh; } สตริงสาธารณะ getxh () {return xh; } โมฆะสาธารณะ setxh (สตริง xh) {this.xh = xh; } สตริงสาธารณะ getxm () {return xm; } โมฆะสาธารณะ setxm (สตริง xm) {this.xm = xm; } สตริงสาธารณะ getYXSMC () {return yxSMC; } โมฆะสาธารณะ setyxsmc (สตริง yxsmc) {this.yxsmc = yxsmc; } จำนวนเต็มสาธารณะ getKch () {return kch; } โมฆะสาธารณะ setkch (จำนวนเต็ม kch) {this.kch = kch; } สตริงสาธารณะ getKcm () {return kcm; } โมฆะสาธารณะ setKCM (สตริง kcm) {this.kcm = kcm; } public float getcj () {return cj; } โมฆะสาธารณะ setcj (float cj) {this.cj = cj; -เอาท์พุทพื้นหลัง:
การส่งออกฐานข้อมูลสำเร็จ
1.0 Hongten School of Technology Technology Technology Application Basics พื้นฐาน 80.0
2.0 Wangwu Technology College College เครือข่ายคอมพิวเตอร์แอปพลิเคชันพื้นฐาน 81.0
3.0 Li Shengji School of Technology Technology เครือข่ายคอมพิวเตอร์แอปพลิเคชันพื้นฐาน 82.0
4.0 พื้นฐานของแอปพลิเคชันเครือข่ายคอมพิวเตอร์ของวิทยาลัยเทคโนโลยีสารสนเทศระดับ 5 83.0
5.0 CAI Shiyun School of Technology Technology Technology เครือข่ายคอมพิวเตอร์แอปพลิเคชันพื้นฐาน 84.0
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น