當我嘗試打開POI的.xlsx文件打開的工作簿時,我得到一個異常:POI不能打開在Excel
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中也會正確打開。
它受到保護,但沒有加密。我試過你的代碼,並得到一個例外,它無法找到一個算法 – qwerty
在許多情況下,由於Microsoft最知道的原因,protected = encrypted。可以用默認密碼保護,但仍然會被加密 – Gagravarr
有趣!那麼爲什麼我會得到一個異常java.security.NoSuchAlgorithmException:無法找到任何支持AES/ECB/NoPadding的提供商 – qwerty