我的系统使用Apache-POI来管理一些xls文件。现在我有近300个xls文件,但看来它们是旧格式,所以我遇到了这个异常:
The supplied spreadsheet seems to be Excel 5.0/7.0 (BIFF5) format. POI only supports BIFF8 format (from Excel versions 97/2000/XP/2003)
有没有办法处理或自动将所有这些文件转换为biff8格式?
最佳答案
将其转换为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 有很好的解释。
编辑
截至2018年6月21日,上述从microsoft.com的下载不再可用。但是,excelcnv.exe
是某些Microsoft Office安装的标准部分。已经确认它将与Office 2014和Office 2016以及其他版本一起部署。可以在以下位置找到:
C:\Program Files (x86)\Microsoft Office\root\Office16` (or `Office14`).
关于apache-poi - Excel Biff5到Biff8的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12428931/