我编写了一个控制台应用程序来使用xlsx在C#中读取OleDbConnection文件。它引发以下错误
未在本地计算机上注册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组件。环境细节
检查了以下链接以修复该问题
1.http://www.codeproject.com/Questions/486549/Theplus-27Microsoft-ACE-Oledb-12-0-27plusproviderp 2.http://www.codeproject.com/Questions/337953/The-Microsoft-ACE-OLEDB-12-0-provider-is-not-regis
任何帮助都是非常感谢的。
发布于 2013-09-03 13:51:16
您必须安装Microsoft;Office安装过程将在GAC中复制和注册所需的程序集(“ACEOLEDB.DLL”),或者您可以将丢失的程序集添加到bin (应用程序)目录中,也可以自己重新设置它们。
https://stackoverflow.com/questions/18593665
复制相似问题