[英]opening an excel protected sheet using c#
我正在尝试使用c#打开excel文件,但是Visual Studio给出了此OLEDB异常:“无法解密文件”。 当打开一个未保护的excel文件时,代码可以正常工作。
以下是我的代码:
string conn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + s + ";Extended Properties='Excel 8.0;HDR=YES'";
OleDbConnection objConn = new OleDbConnection(conn);
objConn.Open();
OleDbCommand cmd = new OleDbCommand("Select * from [Sheet1$]", objConn);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.Fill(dt);
我发现以下网站提出了解决vb的方法,但是我无法在C#中使用它。 VBA Excel
任何帮助将不胜感激。
您可以使用OoXmlCrypto之类的OpenSource库来解密受密码保护的文件,否则,您仍然可以使用支持密码的Microsoft Interop官方库:
using Microsoft.Office.Interop.Excel
WorkbookObject.Password = password;
否则,这是最简单的方法,您可以将password属性添加到OLeDb提供程序的连接字符串中:
string conn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + s + ";Password=password;Extended Properties='Excel 8.0;HDR=YES'";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.