使用OleDbConnection读取c#中的xlsx文件会引发错误
我编写了一个控制台应用程序,使用使用OleDbConnection读取c#中的xlsx文件会引发错误,c#,excel,oledb,C#,Excel,Oledb,我编写了一个控制台应用程序,使用OleDbConnection读取C中的xlsx文件。它抛出以下错误 Microsoft.ACE.OLEDB.12.0提供程序未在本地计算机上注册 下面是我写的代码 string connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Suganya\ColumnReport.xlsx;Extended Properties=Excel 12.0;"; OleDbConnection objC
OleDbConnection
读取C中的xlsx
文件。它抛出以下错误
Microsoft.ACE.OLEDB.12.0提供程序未在本地计算机上注册
下面是我写的代码
string connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\Suganya\ColumnReport.xlsx;Extended Properties=Excel 12.0;";
OleDbConnection objConn = new OleDbConnection();
OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
objConn = new OleDbConnection(connString);
string Query = "SELECT * FROM [Sheet1$]";
OleDbCommand objCmd = new OleDbCommand(Query, objConn);
DataTable Table = new DataTable();
dataAdapter.SelectCommand = objCmd;
dataAdapter.Fill(Table);
我已经执行了以下操作来解决问题
AccessDatabaseEngine.exe
(32位),发现ACEOLEDB.dll
存在于以下路径C:\Program Files(x86)\Common Files\microsoft shared\OFFICE14
ACEOLEDB.dll
。但它给了我以下的错误
无法添加对“ACEOLEDB.DLL”的引用。请确保该文件可访问,并且是有效的程序集或COM组件
非常感谢您的帮助。您必须安装Microsoft Office;Office安装过程将复制并在GAC中注册所需的程序集('ACEOLEDB.DLL'),或者您可以在bin(应用程序)目录中添加缺少的程序集,或者自行重新注册这些程序集。不会安装2007 Office System驱动程序:数据连接组件工作吗?从这里回答:您可以使用Microsoft提供的可再发行互操作程序集,其中包括您想要的DLL。“Microsoft.ACE.OLEDB.12.0”是可再发行互操作程序集的一部分吗?将Office.Interop.Excel添加到项目引用后,我仍然会收到未注册的提供程序错误。