Hi,
I tried to read Excel files which are protected with password, but got the
EncryptedDocumentException.
Case 1: when reading .xlsx file:
Caused by: org.apache.poi.EncryptedDocumentException: The supplied spreadsheet
seems to be an Encrypted .xlsx file. It must be decrypted before use by XSSF,
it cannot be used by HSSF
at
org.apache.poi.hssf.usermodel.HSSFWorkbook.getWorkbookDirEntryName(HSSFWorkbook.java:252)
~[poi-3.11.jar:3.11]
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:308)
~[poi-3.11.jar:3.11]
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:288)
~[poi-3.11.jar:3.11]
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:223)
~[poi-3.11.jar:3.11]
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:381)
~[poi-3.11.jar:3.11]
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:363)
~[poi-3.11.jar:3.11]
at
org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:84)
~[poi-ooxml-3.11.jar:3.11]
Case 2: when reading .xls file:
Caused by: org.apache.poi.EncryptedDocumentException: HSSF does not currently
support CryptoAPI encryption
at
org.apache.poi.hssf.record.FilePassRecord$Rc4KeyData.read(FilePassRecord.java:65)
~[poi-3.11.jar:3.11]
at
org.apache.poi.hssf.record.FilePassRecord.<init>(FilePassRecord.java:193)
~[poi-3.11.jar:3.11]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
~[na:1.8.0_20]
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
~[na:1.8.0_20]
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
~[na:1.8.0_20]
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
~[na:1.8.0_20]
at
org.apache.poi.hssf.record.RecordFactory$ReflectionConstructorRecordCreator.create(RecordFactory.java:87)
~[poi-3.11.jar:3.11]
at
org.apache.poi.hssf.record.RecordFactory.createSingleRecord(RecordFactory.java:338)
~[poi-3.11.jar:3.11]
at
org.apache.poi.hssf.record.RecordFactoryInputStream$StreamEncryptionInfo.<init>(RecordFactoryInputStream.java:74)
~[poi-3.11.jar:3.11]
at
org.apache.poi.hssf.record.RecordFactoryInputStream.<init>(RecordFactoryInputStream.java:207)
~[poi-3.11.jar:3.11]
at
org.apache.poi.hssf.record.RecordFactory.createRecords(RecordFactory.java:477)
~[poi-3.11.jar:3.11]
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:325)
~[poi-3.11.jar:3.11]
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:288)
~[poi-3.11.jar:3.11]
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:223)
~[poi-3.11.jar:3.11]
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:381)
~[poi-3.11.jar:3.11]
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:363)
~[poi-3.11.jar:3.11]
at
org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:84)
~[poi-ooxml-3.11.jar:3.11]
>From the exception message and the webpage
>(http://poi.apache.org/encryption.html), poi doesn't support RC4 CryptoAPI
>encryption.
Do you have any plans to support it? Or do you have any ideas on how to read
such excel files?
The poi version is 3.11, and the password is set in MS Excel 2013, Windows 7.
Thanks!
Lei
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]