【发布时间】:2014-01-13 09:29:00
【问题描述】:
我正在尝试使用 OLEDB 连接更新格式为“xlsx”的 Excel 工作表中的一些数据,但我无法确定连接的建立。
这是我的代码:
String sConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source='" + "D:\abc1.xlsx" + "';Extended Properties='Excel 8.0;HDR=Yes'";
OleDbConnection con = new OleDbConnection(sConnectionString);
con.Open();
OleDbCommand com = new OleDbCommand("select * from Sheet1",con);
OleDbDataReader reader = null;
reader = com.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader[0]);
}
con.Open();
Console.ReadLine();
}
当我运行代码时,我遇到了以下异常:
“Microsoft.ACE.OLEDB.12.0”提供程序未在本地注册 机器。
任何想法如何从这个异常中恢复或任何其他我可以更新我在 excel 中的数据的建议都是可取的。
【问题讨论】:
-
"当我运行代码时,我面临以下异常.." 那么这个异常是什么?
-
什么样的异常?异常的信息是什么?
-
“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。
-
问题很可能与您的应用程序的位数有关。尝试为 x86 构建并查看应用程序是否有效。
-
你需要安装,看这里 [Microsft.ACE.OLEDB.12.0 provider not registered on local machine][1] [1]: stackoverflow.com/questions/6649363/…