我已经编写了一个代码来访问.xlsm文件,但它没有这样做。我使用 XSSFWorkBook 和使用 WorkBookFactory 完成的Generic WorkBook尝试了同一个文件。
org.apache.poi.ss.usermodel.Workbook workbook = WorkbookFactory.create(new File(
"/filename.xlsm"));
提供的电子表格似乎是加密的.xlsx文件。它必须在XSSF使用前解密,HSSF不能使用它。
所以我离开了读取文件的通用方法并使用了XSSF。
XSSFWorkbook workBook = new XSSFWorkbook(new FileInputStream(new
File("/fileName.xlsm")));
org.apache.poi.POIXMLException:org.apache.poi.openxml4j.exceptions.InvalidFormatException:包应包含内容类型部分[M1.13]
这两种方案都适用于某些.xlsm文件。工作文件和非工作文件的属性和数据是相同的。
有人可以帮忙解决这个问题吗?
答案 0 :(得分:0)
宣传回答评论......您需要升级您的Apache POI版本!
你可以查看Apache POI changelog here,看看自3年前3.9发布以来有多少变化。这是一个很多页面的修复!你至少需要其中一个......