读取限制访问的excel文件:没有这样的条目:“EncryptionInfo”,有:[EncryptedPackage,

如何阅读限制访问的Excel? 不要把这个与密码保护的Excel文件错误。 我正在尝试创build一个Java程序来读取一个文件,其中“完全控制”只提供给所有者和“我的组织中的每个人”都有读取权限。 参考图片。

我可以在Windows中打开文件,因为我是“组织中的每个人”的一部分 在这里输入图像说明

我尝试了POI。

Workbook workbook = null; try { workbook = WorkbookFactory.create(new File("D:/temp/table_export.xlsx")); } catch (EncryptedDocumentException e1) { log.error("unable to read excel file", e1); e1.printStackTrace(); } catch (InvalidFormatException e1) { log.error("unable to read excel file", e1); e1.printStackTrace(); } catch (IOException e) { System.err.println("IOException"); e.printStackTrace(); } catch (Exception e) { System.err.println("Exception"); e.printStackTrace(); } Sheet sheet; sheet = workbook.getSheetAt(0); log.info("SheetName:" + sheet.getSheetName()); 

它在“WorkbookFactory.create()”中引发exception

java.io.FileNotFoundException:没有这样的条目:“EncryptionInfo”,在org.apache的org.apache.poi.poifs.filesystem.DirectoryNode.getEntry(DirectoryNode.java:399)上有[EncryptedPackage,DocumentSummaryInformation,SummaryInformation,DataSpaces]在org.apache.poi.poifs.crypt.EncryptionInfo(EncryptionInfo.java:102)上的.poi.poifs.filesystem.DirectoryNode.createDocumentInputStream(DirectoryNode.java:188)位于org.apache.poi.poifs.crypt.EncryptionInfo。 (encryption信息.java:95)在org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:226)org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:256)org.apache.poi.ss。在ExlTest.main(ExlTest.java:23)中的usermodel.WorkbookFactory.create(WorkbookFactory.java:205)在线程“main”中的exceptionjava.lang.NullPointerException at ExlTest.ma 在(ExlTest.java:41)

请build议一种方法来解决这个问题。 我甚至可以在代码中提供用户名/密码