org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead of HSSF)
时间: 2023-07-19 20:38:19 浏览: 213
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能。
这个错误通常是由于您正在尝试使用 HSSF API 处理 Office 2007+ XML 格式的文档,而 HSSF API 只能处理旧的 OLE2 格式的文档。为了解决这个问题,您需要改用 XSSF API 来处理 Office 2007+ XML 格式的文档。
如果您使用的是 Apache POI 库,可以按照以下步骤来更新您的代码:
1. 导入 org.apache.poi.xssf.usermodel.XSSFWorkbook 类。
2. 将 HSSFWorkbook 实例替换为 XSSFWorkbook 实例。
3. 将 HSSFSheet 实例替换为 XSSFSheet 实例。
4. 将 HSSFRow 实例替换为 XSSFRow 实例。
5. 将 HSSFCell 实例替换为 XSSFCell 实例。
如果您的代码中使用了其他 HSSF API 类,也需要相应地替换为 XSSF API 类。
如果您正在使用其他库来处理 Office 2007+ XML 格式的文档,可能需要查阅相关文档来确定正确的 API。
阅读全文