我们有一些.xls
(HSSF) 格式的遗留数据,我们正在.xlsx
使用 Apache POI 库将其转换为 (XSSF) 格式。在我们开始看到很多之前,这一切都运作良好 org.apache.poi.poifs.filesystem.NotOLE2FileException
。经过仔细检查,我们意识到引发此异常的文件实际上不是 Excel 文件(尽管具有误导性的.xls
扩展名),而是单文件网页文件(网络存档X-Document-Type: Workbook
)。
问题)是否有任何将“X-Document-Type:Workbook”转换为 Excel 的开源 Java 库?
附录:@kiwiwings 要求的澄清
不,文件不是“XML 工作簿”格式。它们是带有X-Document-Type: Workbook
声明的 MIME 文档。每个部分都是一个标准的 HTML 文件,有自己的表格。
这些文件被赋予了.xls
扩展名,并且 Excel 能够打开它们,尽管在发出以下警告之后:
您尝试打开的文件“blah-blah-blah.xls”的格式与文件扩展名指定的格式不同。在打开文件之前,请确认文件没有损坏并且来自受信任的来源。您现在要打开文件吗?