我的系统使用Apache-POI来管理一些xls文件。现在我有近300个xls文件,但看起来它们是旧的格式,所以我得到了这个例外:
提供的电子表格似乎是Excel 5.0 / 7.0(BIFF5)格式。 POI仅支持BIFF8格式(来自Excel版本97/2000 / XP / 2003)
有没有办法处理或自动将所有这些文件转换为biff8格式?
答案 0 :(得分:7)
将其转换为OOXLS格式,POI支持BIFF8和更新的OOXLS。下载官方Microsoft转换器包:
http://www.microsoft.com/en-us/download/details.aspx?id=3
通过运行excelcnv.exe -oice <input file> <output file>
转换文件。您可以尝试直接从代码中运行它作为外部程序,或创建一些批处理文件。来自社交msdn here的 mrdivo 有一个很好的解释。
修改强>
截至6/21/2018,从microsoft.com上面提到的下载已不再可用。但是,excelcnv.exe
是某些Microsoft Office安装的标准部分。已确认将部署Office 2014和Office 2016,以及可能的其他版本。它可以在:
C:\Program Files (x86)\Microsoft Office\root\Office16` (or `Office14`).
答案 1 :(得分:0)
似乎apache-POI无法处理BIFF5格式。
您应该尝试使用Java Excel API:http://jexcelapi.sourceforge.net/