当我尝试打开安全文档时,我有这个例外
System.Exception : Can not open the package. Package is an OLE compound document. If this is an encrypted package, please supply the password
我为测试写了这个硬方法
public bool HasPassword()
{
try
{
if(File.Exists(FileName))
{
var fileStream = File.Open(FileName, FileMode.Append);
var package = new ExcelPackage();
package.Load(fileStream);
}
}
catch(Exception)
{
return true;
}
return false;
}
但我认为这是错误的做法。
如何检查是否是受密码保护的Excel文件?
答案 0 :(得分:2)
如果EEPlus不是强制性的,您只需使用Workbook.HasPassword属性。
Workbook book = ****xyz****;
if (book.HasPassword)
{
book.Password = Properties.Settings.Default.ExcelFilePW;
MessageBox.Show("Excel file is encrpyted");
}
因此,您需要创建对Office Interop Excel组件的引用,该组件可以在.NET / COM中找到(有时)。 然后使用using指令将其嵌入到项目中。