使用 Java Apache POI 更新 excel 文件中的单元格
Update Cell in excel file using Java Apache POI
我正在尝试使用 Java (Apache POI) 更新现有 excel 文件中的空单元格,这是我编写的代码,我没有收到任何错误,并且值也没有改变。
FileInputStream file = new FileInputStream(new File("recap.xlsx"));
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet = workbook.getSheetAt(0);
Cell cell = null;
//Retrieve the row and check for null
XSSFRow sheetrow = sheet.getRow(7);
if(sheetrow == null){
sheetrow = sheet.createRow(7);
System.out.println("its null 1 ");
}
//Update the value of cell
cell = sheetrow.getCell(7);
if(cell == null){
cell = sheetrow.createCell(7);
System.out.println("its null 2 !");
}
cell.setCellValue("Second");
file.close();
workbook.close();
我在控制台中得到“its null 2!”。
有什么解决办法吗?
谢谢:)
您需要打开一个输出流并写入工作簿,如下所示:
file.close();
FileOutputStream outputStream = new FileOutputStream("recap.xlsx");
workbook.write(outputStream);
workbook.close();
outputStream.close();
此外,确保在该写入操作后关闭工作簿和输出流。
我正在尝试使用 Java (Apache POI) 更新现有 excel 文件中的空单元格,这是我编写的代码,我没有收到任何错误,并且值也没有改变。
FileInputStream file = new FileInputStream(new File("recap.xlsx"));
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet = workbook.getSheetAt(0);
Cell cell = null;
//Retrieve the row and check for null
XSSFRow sheetrow = sheet.getRow(7);
if(sheetrow == null){
sheetrow = sheet.createRow(7);
System.out.println("its null 1 ");
}
//Update the value of cell
cell = sheetrow.getCell(7);
if(cell == null){
cell = sheetrow.createCell(7);
System.out.println("its null 2 !");
}
cell.setCellValue("Second");
file.close();
workbook.close();
我在控制台中得到“its null 2!”。
有什么解决办法吗?
谢谢:)
您需要打开一个输出流并写入工作簿,如下所示:
file.close();
FileOutputStream outputStream = new FileOutputStream("recap.xlsx");
workbook.write(outputStream);
workbook.close();
outputStream.close();
此外,确保在该写入操作后关闭工作簿和输出流。