เมื่อเร็ว ๆ นี้ครูได้มอบหมายงานให้ใช้ Java เพื่อเพิ่มลบแก้ไขและตรวจสอบไฟล์ด้วย Excel Suffix XLSX โชคดีที่มันเสร็จสมบูรณ์และสรุปง่ายๆ
ก่อนอื่นฉันนำเข้า poi.jar
แผ่น XSSFSheet = NULL;
หนังสือ XSSFWORKBOOK = NULL;
1: ตรวจสอบ (ค้นหาตาราง Excel ในตำแหน่งที่ระบุท้องถิ่นเอาต์พุตในคอนโซล)
โมฆะสาธารณะ print_excel () {// รับจำนวนแถวของตาราง excel int lastrownumber = sheet.getLastrownum (); XSSFROW ROW = SHEET. GETROW (A); b);2: เปลี่ยน (แก้ไขเนื้อหาของเซลล์ในตาราง Excel)
โมฆะสาธารณะ set_excelcell (int i, int j, str str) {// รับข้อมูลแถว xssfrow row = sheet.getrow (i-1); รับเนื้อหาของสตริงเซลล์ที่แก้ไขแล้ว = excel_operation.getExcelcellValue (เซลล์); +str);}สาม: เพิ่ม (แทรกแถวเนื้อหาในตาราง excel ไปยังตำแหน่งที่ระบุ)
การแทรกโมฆะสาธารณะ (int rowindex, string [] objs) {ถ้า (rowindex == 0) {โยน unlegalargumentexception ใหม่ ("ไม่สามารถแทรกในบรรทัด 0, บรรทัด 0 ถูกใช้เพื่อกำหนด!")} ถ้า (Rowindex> ชีต getLastrownum () + 1) {โยน unlegalargumentException ใหม่ ("สามารถแทรกได้หลังจากบรรทัดสุดท้ายที่มากที่สุด")} int referrowindex = -1; if (sheet.getphysicalnumberofrows () <= 1) {regerrowindex = rowindex - 1; // ไม่มีการประมวลผลใด ๆ } else {// ย้ายหนึ่งแผ่นลงหนึ่งแผ่น shiftrows (rowindex, sheet.getlastrownum (), 1, true, false); .getrow (referrowindex); TargetCell.SetCellStyle (refercell.getCellStyle ());สี่: ลบ (ลบเนื้อหาของบรรทัดที่ระบุ)
// ลบแถวข้อมูล (ในตาราง excel, แถวคำนวณจาก 0) โมฆะสาธารณะลบ (int rowindex) {// แถวสุดท้ายที่ถูกลบคือถ้า (rowindex == sheet.getLastrownum ()) {sheet.removerowow (แผ่น. getRow (sheet.getLastrownum ()); .Remov Erow (sheet.getrow (sheet.getLastrownum () + 1);5: กำหนดประเภทการส่งคืน (เนื่องจากเนื้อหาในตาราง Excel นั้นแตกต่างกันรวมถึงประเภทอักขระประเภทจำนวนเต็ม ฯลฯ จำเป็นต้องตัดสินประเภทของมันก่อนการส่งออก)
สตริงคงที่ getExcelcellValue (เซลล์ XSSFCELL) {String ret = ""; cell.getCellType () == xssfcell.cell_type_string) {ret = cell.getStringCellValue (); "" cell.getNumericCellValue (); ประเภทของค่าส่งคืนเป็นประเภทข้อยกเว้น} อื่นถ้า (cell.getCellType () == XSSFCELL.CELL_TYPE_ERROR) {ret = "" + cell.getERRORCELLVALUE (); อย่างอื่นถ้า (cell ::::::::::::::::::::::::: กระทาน ::::::::::::::::::::::::::::::::::::::::::::::: หัวเครื่อง อื่น ๆ (cell.getCellType () == XSSFCEL L.CELL_TYPE_BLANK) {ret = "";