apache-poi - Excel Biff5到Biff8的转换

标签 apache-poi xls

我的系统使用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/

相关文章:

ios - 是否可以通过 iOS 以编程方式创建 .xls 文件?

java - Apache POI - CellStyle.ALIGN_RIGHT

c++ - 相当棘手的代码气味要解决(由于两个独立的库)c++

Excel - 删除两列之间的所有一对一行

java - 使用 Apache POI 将 Excel/Word 转换为 PDF

java - 验证 MM/dd/yyyy 格式的 Excel 日期

java - 如何使用java拆分Excel文件?

java - Apache POI 中的 CTP、CTTbl 类(对象)是什么?

java - 在 BDD 测试用例中使用模拟是否明智?

Java Selenium 使用 Apache POI - 读取 Excel 文件并将两行拉到一起