Java,Apache POI,从MS Excel中看到的单元格值不会改变

我正在使用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。

  • – 我尝试用类似的方式改变一些其他的随机单元格,一些工作,而另一些则没有。 (单元格不包含公式,都是数字types)

如果有人能提供解释和解决scheme,我将不胜感激。 提前致谢。

我复制了现有的Excel文件的内容(手动,没有任何格式)到一个新的,并再次格式化。 现在正在工作。 我一定是第一次搞错了,但是我搞不明白。 感谢您的答复。