问题描述
我们正在使用 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 (将#修改为@)