EPPLUS - XLSX 文档错误:该文件不是有效的包文件如果文件被加密,请在构造函数中提供密码

问题描述

我们正在使用 EPPLUS 为客户从 .xlsx 文档中读取数据。它适用于大多数文件,但有时会返回此错误:“该文件不是有效的包文件。如果文件已加密,请在构造函数中提供密码”。据我所知,所有文件都以相同的方式受密码保护,因此密码保护应该不是问题。作为在他们的开发环境中的解决方法,我们测试了将失败的 .xlsx 的副本保存为 .xlsm,然后 EPPLUS 能够处理该文件。这也适用于其他方式(将 .xlsm 转换回 .xlsx)。但是,客户对使用生产数据执行此操作犹豫不决。有没有办法确定文件具体有什么问题?

作为参考,以下是我们用来开始使用 EPPLUS 读取文件代码片段:

byte[] byteArray = Convert.FromBase64String(documentbody);
using (MemoryStream ms = new MemoryStream(byteArray))
{
     using (ExcelPackage package = new ExcelPackage(ms))
     {

       ExcelWorksheet aTabName = package.Workbook.Worksheets.FirstOrDefault(x => x.Name.ToLower() == "a tab name");
     }
}

感谢您的任何建议。

-C

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...