我的系统使用Apache的POI管理一些XLS文件。 现在,我已经有了近300 XLS文件,但现在看来,他们是在一个旧的格式,所以我得到这个异常:
所提供的电子表格似乎是Excel中5.0 / 7.0(BIFF5)格式。 POI只支持BIFF8格式(从Excel 97版/ 2000 / XP / 2003)
有没有办法来处理或自动所有这些文件转换为BIFF8格式?
我的系统使用Apache的POI管理一些XLS文件。 现在,我已经有了近300 XLS文件,但现在看来,他们是在一个旧的格式,所以我得到这个异常:
所提供的电子表格似乎是Excel中5.0 / 7.0(BIFF5)格式。 POI只支持BIFF8格式(从Excel 97版/ 2000 / XP / 2003)
有没有办法来处理或自动所有这些文件转换为BIFF8格式?
它转换为OOXLS格式去,POI支持BIFF8和新OOXLS。 下载微软官方转换器包:
http://www.microsoft.com/en-us/download/details.aspx?id=3
通过运行转换文件excelcnv.exe -oice <input file> <output file>
。 您可以尝试直接从您的代码作为外部程序运行,或创造一些批处理文件。 有一个从mrdivo在社会MSDN一个很好的解释在这里 。
编辑
从microsoft.com上面提到的下载不再为2018年6月21日。 然而, excelcnv.exe
是某些Microsoft Office安装的一个标准部分。 它已被证实与Office 2014和办公室2016年,和其他可能的版本进行部署。 它可以在这里找到:
C:\Program Files (x86)\Microsoft Office\root\Office16` (or `Office14`).
看来Apache的POI不能处理BIFF5格式。
你应该尝试使用Java API的Excel改为: http://jexcelapi.sourceforge.net/