当前位置: 首页 > 知识库问答 >
问题:

使用Java Apache POI更新excel文件中的单元格

慕容齐智
2023-03-14

我试图用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();

谢谢:)

共有1个答案

林威
2023-03-14

您需要打开一个输出流并写入工作簿,如下所示:

file.close();

FileOutputStream outputStream = new FileOutputStream("recap.xlsx");
workbook.write(outputStream);

workbook.close();
outputStream.close();

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

 类似资料:
  • 我创建了一个excel文件,并在(0,0)[行,单元格]中插入了一个新值作为Hello。第二次打开同一个excel文件,同一张表,用另一个字符串值更新了同一个(0,0)单元格。 代码正在成功运行,没有任何错误,但文件已损坏,无法打开。 代码 在调试模式下,在设置第二个值之后。SetCellValue(第二个值);我可以通过Debug查看该值。打印(cell. ToString());并且该值在控制

  • 问题内容: 我正在尝试使用Apache POI更新现有的Excel文件。每次我运行代码时,都会收到如下所示的错误。我也试过FileInputStreamNewFile的东西。 请在下面找到代码。感谢你的帮助。 问题答案: 如果您更换 用 会工作的!

  • 我有一个预定义的excel文件,这是一种形式,其中大部分的信息已经提到,但我必须只输入姓名,地址等细节从我的应用程序用Java。 我可以存储单元格(如A12、B20等),并使用Apache POI库和方法轻松地更新这些单元格。但我希望它是动态的。例如,如果用户将名称单元格从A12更改为B12,Java代码不应该被修改。

  • 我正在使用apache POI更改excel表中的单元格。更改值后,与已更改的单元格对应的公式的单元格不会更新。 当我进入excel并单击带有公式的单元格,然后在函数栏中单击时,公式会更新。 A1仍然等于3,直到我点击那个单元格。 刷新工作簿或工作表也不起作用。这是excel或POI的问题吗?有人能想出一个变通办法吗?

  • 问题内容: 我正在尝试将多行文本写入Excel单元格。 但是,当我打开文档时,我只看到一行,直到我双击它进行编辑,然后它变成了两行。为什么会这样呢?谢谢 问题答案: 您需要设置行高以容纳两行文本。 您需要设置以获取新行。试试这个:这是wb 。

  • excel文件有超长的公式,而不是将它们转换为C#我更喜欢在我通过将用C#编写的应用程序在计算单元格中输入值后能够从中读取结果单元格