gpt4 book ai didi

java - 受密码保护的 Excel 文件

转载 作者:搜寻专家 更新时间:2023-10-31 19:36:13 25 4
gpt4 key购买 nike

我有一个受密码保护的 Excel 电子表格。我需要打开这个电子表格并从中读取数据。我一直在尝试使用 POI API 但无济于事。首选 Java 解决方案,但任何想法都会有所帮助。

编辑:是的,我有密码。该文件在 excel 中受密码保护;必须输入密码才能查看电子表格。

Edit2:我无法使用带有密码的 POI 打开它,我正在寻找替代解决方案。

最佳答案

POI 应该能够打开 protected xls 文件(使用 org.apache.poi.hssf.record.crypt)和 protected xlsx 文件(使用 org.apache.poi.poifs .crypt)。这些你试过吗?

如果您使用的是 HSSF(对于 xls 文件),您需要在打开文件之前设置密码。您可以通过调用以下方式执行此操作:

 org.apache.poi.hssf.record.crypto.Biff8EncryptionKey.setCurrentUserPassword(password);

之后,HSSF 应该能够打开您的文件。

对于 XSSF,你需要这样的东西:

    POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("protect.xlsx"));
EncryptionInfo info = new EncryptionInfo(fs);
Decryptor d = Decryptor.getInstance(info);
d.verifyPassword(Decryptor.DEFAULT_PASSWORD);
XSSFWorkbook wb = new XSSFWorkbook(d.getDataStream(fs));

完整的细节在 POI Encryption documentation page 上给出。

关于java - 受密码保护的 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2609301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com