แนะนำ
จาการ์ตาปอยเป็นชุดของ Java APIs สำหรับการเข้าถึงเอกสารที่จัดทำขึ้นของ Microsoft จาการ์ตา Poi ประกอบด้วยส่วนประกอบมากมายรวมถึง HSSF สำหรับการใช้งานไฟล์รูปแบบ Excel และ HWPF สำหรับการใช้งาน Word ในบรรดาส่วนประกอบต่าง ๆ มีเพียง HSSF สำหรับการใช้งาน Excel นั้นค่อนข้างเติบโต หน้าแรกอย่างเป็นทางการ http://poi.apache.org/index.html, API เอกสารประกอบ
ทำให้สำเร็จ
มีการเพิ่มความคิดเห็นที่สมบูรณ์ในรหัส
นำเข้า java.io.fileinputstream; นำเข้า java.io.fileoutputstream; นำเข้า java.io.inputstream; นำเข้า java.io.OutputStream; นำเข้า java.util.arraylist; นำเข้า Java.util.list; org.apache.poi.hssf.usermodel.hssfcellstyle นำเข้า org.apache.poi.hssf.usermodel.hssfrow; นำเข้า org.apache.poi.hssf.usermodel.hssfsheet; Exceloperate {โมฆะสาธารณะคงที่หลัก (สตริง [] args) {// สร้างตาราง excel createExcel (getStudent ()); // อ่านรายการตาราง Excel <student> list = readExcel (); System.out.println (list.toString ()); } / *** เริ่มต้นข้อมูล** @return data* / รายการคงที่ส่วนตัว <Tudent> getStudent () {รายการ <student> list = new ArrayList <Tudent> (); นักเรียนนักเรียน 1 = นักเรียนใหม่ ("Xiao Ming", 8, "ชั้นสอง"); นักเรียนนักเรียน 2 = นักเรียนใหม่ ("Xiao Guang", 9, "ชั้นสอง"); นักเรียนนักเรียน 3 = นักเรียนใหม่ ("Xiao Hua", 10, "เกรดสี่"); list.add (นักเรียน 1); list.add (Student2); list.add (student3); รายการคืน; } / ** * สร้าง Excel * * @param list * data * / void private static void createExcel (รายการ <student> รายการ) {// สร้างไฟล์ excel hssfworkbook workbook = hssfworkbook ใหม่ (); // สร้างแผ่นงาน HSSFSheet = Workbook.createsheet ("ตารางนักเรียนหนึ่ง"); // เพิ่มแถวส่วนหัว hssfrow hssfrow = sheet.createrow (0); // ตั้งค่ารูปแบบเซลล์เป็นศูนย์ HSSFCELLSTYLE CELLSTYLE = Workbook.CreateCellStyle (); CellStyle.SetAlignment (HSSFCELLSTYLE.ALIGN_CENTER); // เพิ่มเนื้อหาส่วนหัว hssfcell headcell = hssfrow.createCell (0); headcell.setCellValue ("ชื่อ"); headcell.setcellstyle (CellStyle); headcell = hssfrow.createCell (1); headcell.setCellValue ("อายุ"); headcell.setcellstyle (CellStyle); headcell = hssfrow.createCell (2); headcell.setCellValue ("เกรด"); headcell.setcellstyle (CellStyle); // เพิ่มเนื้อหาข้อมูลสำหรับ (int i = 0; i <list.size (); i ++) {hssfrow = sheet.createrow ((int) i+1); นักเรียนนักเรียน = list.get (i); // สร้างเซลล์และตั้งค่า hssfcell cell = hssfrow.createCell (0); cell.setCellValue (student.getName ()); cell.setCellStyle (CellStyle); เซลล์ = hssfrow.createCell (1); cell.setCellValue (student.getage ()); cell.setCellStyle (CellStyle); เซลล์ = hssfrow.createCell (2); cell.setCellValue (Student.getGrade ()); cell.setCellStyle (CellStyle); } // บันทึกไฟล์ excel ลอง {outputStream outputStream = ใหม่ fileOutputStream ("d: /students.xls"); workbook.write (outputstream); outputstream.close (); } catch (exception e) {e.printstacktrace (); }} / ** * อ่าน excel * * @return การรวบรวมข้อมูล * / รายการคงที่ส่วนตัว <Tudent> readExcel () {รายการ <student> list = new ArrayList <Tudent> (); สมุดงาน HSSFWORKBOOK = NULL; ลอง {// อ่าน excel ไฟล์ inputstream inputstream = new fileInputStream ("D: /students.xls"); Workbook = HSSFWORKBOOK ใหม่ (InputStream); inputstream.close (); } catch (exception e) {e.printstacktrace (); } // loop worksheet สำหรับ (int numsheet = 0; numsheet <workbook.getNumberOfSheets (); numsheet ++) {hssfsheet hssfsheet = workbook.getsheetat (numsheet); if (hssfsheet == null) {ดำเนินการต่อ; } // Loop Row สำหรับ (int rownum = 1; rownum <= hssfsheet.getLastrownum (); rownum ++) {hssfrow hssfrow = hssfsheet.getrow (rownum); if (hssfrow == null) {ดำเนินการต่อ; } // บันทึกเนื้อหาในเซลล์ลงในนักเรียนคอลเลกชันนักเรียน = นักเรียนใหม่ (); hssfcell cell = hssfrow.getcell (0); if (cell == null) {ดำเนินการต่อ; } student.setName (cell.getStringCellValue ()); เซลล์ = hssfrow.getCell (1); if (cell == null) {ดำเนินการต่อ; } student.setage ((int) cell.getNumericCellValue ()); เซลล์ = hssfrow.getCell (2); if (cell == null) {ดำเนินการต่อ; } student.setGrade (cell.getStringCellValue ()); list.add (นักเรียน); }} รายการส่งคืน; -แนบรหัสชั้นเรียนนักเรียน
นักเรียนชั้นเรียนสาธารณะ {ชื่อสตริงส่วนตัว; อายุ int ส่วนตัว; เกรดสตริงส่วนตัว นักเรียนสาธารณะ () {} นักเรียนสาธารณะ (ชื่อสตริงอายุ int, เกรดสตริง) {super (); this.name = ชื่อ; this.age = อายุ; this.grade = เกรด; } สตริงสาธารณะ getName () {ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } public int getage () {return Age; } การตั้งค่าโมฆะสาธารณะ (อายุ int) {this.age = อายุ; } สตริงสาธารณะ getGrade () {ส่งคืนเกรด; } โมฆะสาธารณะ setGrade (เกรดสตริง) {this.grade = เกรด; } @Override Public String ToString () {return "นักเรียน [name =" + name + ", age =" + age + ", grade =" + grade + "]"; - ผลการทดสอบ
โต๊ะ Excel ที่ส่งออก
นักเรียน
พิมพ์ข้อมูลการอ่าน Excel
[นักเรียน [ชื่อ = Xiao Ming, อายุ = 8, เกรด = เกรดสอง], นักเรียน [ชื่อ = Xiao Guang, อายุ = 9, เกรด = 3], นักเรียน [ชื่อ = Xiao Hua, อายุ = 10, เกรด = 4]
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่าเนื้อหาของบทความนี้จะช่วยในการศึกษาหรือทำงานของคุณ หากคุณมีคำถามใด ๆ คุณสามารถฝากข้อความไว้เพื่อสื่อสาร