Java、ApachePOI、单元格值赢得';从MS Excel中查看时不会更改

Java、ApachePOI、单元格值赢得';从MS Excel中查看时不会更改,java,excel,apache-poi,Java,Excel,Apache Poi,我正在使用ApachePOI修改现有的Excel文件(something.xls)。 使用以下命令设置单元格值后: sheet.getRow(3).getCell(30).setCellValue(222); 我可以通过以下方式看到从同一单元格读取值的更改: sheet.getRow(3).getCell(30).toString(); 但是当我用MS Excel打开something.xls文件时,更改就消失了 有趣的是: -如果我在没有设置单元格值的行的情况下重新运行代码,我仍然可

我正在使用ApachePOI修改现有的Excel文件(something.xls)。 使用以下命令设置单元格值后:

sheet.getRow(3).getCell(30).setCellValue(222); 
我可以通过以下方式看到从同一单元格读取值的更改:

 sheet.getRow(3).getCell(30).toString();
但是当我用MS Excel打开something.xls文件时,更改就消失了

有趣的是:

  • -如果我在没有设置单元格值的行的情况下重新运行代码,我仍然可以看到222,因此更改就在那里,只有我看到 由于某些原因,MS Excel中的旧值

  • -我进行了三次检查,以确保我没有编辑与代码不同的文件,也没有使用Excel打开另一个文件

  • -我试着用类似的方法改变一些其他的随机单元,有些成功了,而另一些则没有。(单元格不包含公式和所有 (是数字类型)
如果有人能提供解释和解决方案,我将不胜感激。
提前感谢。

我将现有excel文件的内容(手动,无任何格式)复制到一个新文件中,并再次格式化。它现在正在工作。我第一次一定是弄错了什么,但我不知道是怎么回事。感谢您的回复。

我将现有excel文件的内容(手动复制,不带任何格式)复制到一个新文件中,然后再次格式化。它现在正在工作。我第一次一定是弄错了什么,但我不知道是怎么回事。感谢您的回复。

在设置值之前是否尝试过设置单元格类型:
cell.setCellType(cell.cell\u type\u STRING)
那个单元格可能是公式单元格吗?我也面临这个问题。在设置值之前,您是否尝试过设置单元格类型:
cell.setCellType(cell.cell\u type\u STRING)那个单元格可能是公式单元格吗?我也面临这个问题