【发布时间】:2015-07-27 18:43:12
【问题描述】:
我正在使用 Apache POI 修改现有的 Excel 文件 (something.xls)。 在我使用以下方法设置单元格值后:
sheet.getRow(3).getCell(30).setCellValue(222);
我可以看到从同一个单元格读取值的变化:
sheet.getRow(3).getCell(30).toString();
但是当我使用 MS Excel 打开 something.xls 文件时,更改消失了。
现在有趣的部分:
-如果我在没有设置单元格值的行的情况下重新运行代码,我仍然可以看到 222,所以变化就在那里,只有我看到 出于某种原因,来自 MS Excel 的旧值。
-我进行了三次检查,以确保我没有从代码编辑另一个文件并使用 Excel 打开另一个文件。
- -我尝试以类似的方式更改其他一些随机单元格,有些工作正常,而另一些则没有。 (单元格不包含公式和所有 是数字类型)
如果有人能提供解释和解决方案,我将不胜感激。 提前致谢。
【问题讨论】:
-
在设置值之前是否尝试过设置单元格类型:
cell.setCellType(Cell.CELL_TYPE_STRING); -
该单元格可能是公式单元格吗?
-
我也面临这个问题
标签: java excel apache-poi