用c#打开excel保护表格
我试图用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);
我发现下面的网站build议vb解决方法,但我不能让它在C#中工作。 VBA excel
任何帮助将不胜感激。
您可以使用像OoXmlCrypto这样的OpenSource库来解密受密码保护的文件,否则您仍然可以使用支持密码的Microsoft Interop官方库:
using Microsoft.Office.Interop.Excel WorkbookObject.Password = password;
否则最简单的方法,你可以添encryption码属性到你的OLeDb提供者的连接string:
string conn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + s + ";Password=password;Extended Properties='Excel 8.0;HDR=YES'";