【发布时间】:2019-07-19 08:27:02
【问题描述】:
是否可以使用 ClosedXML 打开受密码保护的 Excel 文件?如果有,怎么做?
我尝试使用 Interop,但速度很慢。
Using Interop.Excel
Microsoft.Office.Interop.Excel.Application wb = xlApp.Workbooks.Open(Filename: "c:\TEST\MyFileProtected.xlsx", ReadOnly: true, Password: "PASSWORD");
我也尝试过使用 ClosedXML,但没有成功
string path = openFileDialog1.FileName.ToString();
var wb = new XLWorkbook(path);
wb.Unprotect("password");
我收到了错误
“文件包含损坏的数据”创建 XLWorkbook 对象。
【问题讨论】:
-
你检查过
Unprotect()方法吗? -
@Progman 我得到“文件包含损坏的数据”我试过这个代码:string path = openFileDialog1.FileName.ToString(); var wb = new XLWorkbook(路径); wb.Unprotect("密码");它接缝是不可能的...... :( 在 10 秒或更长时间内加载具有 4 列和 1000 行的 Excel 文件时卡住了......
-
您是如何创建工作簿的?您可以使用 Excel 打开它而不会收到有关损坏内容的任何错误吗?
-
是的,我可以用 Excel 打开它而不会出现任何错误。 Erverything 文件没问题。该文件是在 Excel 2016 中创建的。如果我回到 VBA,我正在尝试使用 c# 进行开发。 Microsoft.Interop.Excel 不是一个选项...太慢了。
标签: c# excel protected closedxml xlsm