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 组件
控制台应用配置平台为32位
环境细节
- Windows Server 2008(64 位)
- Visual Studio 2010(32 位)
- 未安装 MS Office
检查以下链接以解决问题
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
非常感谢任何帮助。