POI對Excel單元格內容修改
阿新 • • 發佈:2018-11-07
// XLSX版本 const in= new Packages.java.io.FileInputStream("C:\\LJT\\test.xlsx"); const wb= Packages.org.apache.poi.xssf.usermodel.XSSFWorkbook("in") //xls版本 const in= new Packages.java.io.FileOutputStream("C:\\LJT\\test.xls"); const wb= new Packages.org.apache.poi.hssf.usermodel.HSSFWorkbook("in") //開啟之後對某個單元格進行賦值修改 //獲取表格一的工作表 let sheet = wb.getSheet("表格一"); //獲取表格一中 第3行(根據索引) let row = sheet.getRow(2); //獲取表格一中 第3行的第五列(根據索引) let cell = row.getCell(4); //賦值 cell.setCellValue("修改成功"); 此時表格一第3行第5列 就變成了修改成功 //在儲存一下 const out= new Packages.java.io.FileOutputStream("C:\\LJT\\test.xlsx"); doc.write(out) out.close();
此時如果你要修改的單元格為空或者這一行都是空會報錯
果如是97和07兩個Excel版本只需要吧上面的wb修改一下 路徑字尾修改一下
Java中的流我這個關閉的步驟省略了 自己關閉一下就行了
//如果是空需要插入新單元格在賦值 //開啟之後對某個單元格進行賦值修改 //獲取表格一的工作表 let sheet = wb.getSheet("表格一"); //獲取表格一中 第3行(根據索引) let row = sheet.getRow(2); //如果行是空就建立新行 if (row == null) { row = sheet.createRow(2); } //獲取表格一中 第3行的第五列(根據索引) let cell = row.getCell(4); if(cell==null){ //如果單元格是空就建立新單元格在修改 let newCell = row.createCell(4); newCell.setCellValue("修改成功"); } //賦值 cell.setCellValue("修改成功"); //在儲存一下 const out= new Packages.java.io.FileOutputStream("C:\\LJT\\test.xlsx"); doc.write(out) out.close();