当我尝试在 POI 中打开 .xlsx 文件时,出现异常:
java.lang.IllegalArgumentException: The supplied POIFSFileSystem does not contain a BIFF8 'Workbook' entry. Is it really an excel file?
at org.apache.poi.hssf.usermodel.HSSFWorkbook.getWorkbookDirEntryName(HSSFWorkbook.java:223)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:245)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:188)
我注意到代码将其视为 .xls 文件,即使名称为 .xlsx,并且我正在使用WorkbookFactory.create(fileInputStream);
它来打开该文件。
我尝试将文件重命名为 .zip 并在 WinZip 中打开,但出现错误 - 无效的 zip 文件。
该文件确实在 Excel 中打开,如果我保存它(不做任何更改),那么它也会在 POI 中正确打开。