gpt4 book ai didi

java - 读取受密码保护的工作表(版本 - excel 95,97-2003)Java

转载 作者:行者123 更新时间:2023-11-30 07:03:57 25 4
gpt4 key购买 nike

我有一个使用 excel 95,97-2003 创建的受密码保护的工作表

我有密码,并且我尝试以不同的方式读取该文件

方法一:

WorkbookFactory.create(inputStream, "password");
throws: org.apache.poi.EncryptedDocumentException: HSSF does not currently support CryptoAPI encryption

方法2:

    protected InputStream WorkbookProtectionUnlocker(NPOIFSFileSystem fs, String password) throws AAAAException {

EncryptionInfo info;
try {
info = new EncryptionInfo(fs.getRoot());
} catch (IOException e) {
throw new AAAException(e.getCause());
}

Decryptor d = Decryptor.getInstance(info);

org.apache.poi.EncryptedDocumentException:HSSF 当前不支持 CryptoAPI 加密

也抛出相同的异常

方法3:

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

Workbook wb = new HSSFWorkbook(new FileInputStream(file);

同样的异常。

方法4:

了解jxl.Workbook.getWorkbook但在此对象中,密码仅允许将其设置到工作表而不是整个工作表。

抛出此错误:jxl.read.biff.PasswordException

因为不可能为工作表设置密码。

方法5

org.apache.poi.hssf.record.crypto.Biff8EncryptionKey.setCurrentUserPassword(fileInfo.getFileOptions().xlsWorkbookPasswordExpression);
WorkbookFactory.create(new FileInputStream(fileInfo.getInputFile()));

相同的异常:

    org.apache.poi.EncryptedDocumentException: HSSF does not currently support CryptoAPI encryption

打开受密码保护的 HSSF 工作簿的正确方法是什么?

最佳答案

Apache POI 尚未完全支持 Office 文件格式的所有不同加密功能,请参阅 http://poi.apache.org/encryption.html对于当前支持的事物。

但是,自上次发布 POI-3.15 以来,在主干上进行了一些增强,因此尝试最近的夜间构建(来自 https://builds.apache.org/view/POI/job/POI/lastSuccessfulBuild/artifact/)可能是值得的。看看这是否有效。

否则您将需要在 https://bz.apache.org/bugzilla/ 报告错误带有可用于重现和验证这一点的示例文件。

关于java - 读取受密码保护的工作表(版本 - excel 95,97-2003)Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40450218/

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