使用 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();

此外,确保在该写入操作后关闭工作簿和输出流。