c# - 如何从 C# 连接到不同版本的 Excel?

标签 c# excel oledb oledbconnection

我有一个程序可以将数据从 Excel 导入数据集。要连接到 Excel,我使用以下代码...

return new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + 
fileName + "; Jet OLEDB:Engine Type=5;"+ "Extended Properties=\"Excel 8.0;\"");

我刚买了一台装有 Excel 2010 的新电脑,现在连接尝试失败并抛出异常,提示 'Microsoft.Jet.OLEDB.4.0' 提供程序未在本地计算机上注册

这是因为新版本的 Excel 需要不同的连接字符串吗?有人遇到过这个吗?

编辑: 实际上,我只是在某处读到,使用 System.Data.OleDbClient 类甚至不需要在计算机上安装 Excel。所以我的问题可能与 Excel 无关,而与 Microsoft.Jet 工具有关。我的电脑运行的是 Windows7 64 位。不是应该已经安装了吗?

最佳答案

查看 Microsoft Access Database Engine 2010 Redistributable .
其他 Excel 版本的可再发行组件也存在。

关于c# - 如何从 C# 连接到不同版本的 Excel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3537696/

相关文章:

c# - 如何在 Sitecore 中覆盖 Image.BrowseImage()

c# - 找不到 Rx Dump() 方法

python - 从 excel 读取时 Pandas 合并单元格问题

c++ - SQL Server 2012 通过 native C++(无 ATL)从 Windows 首选访问方法

c# - 将 Entity Framework 数据注释添加到另一个项目的类

.net - 如何从 Excel 工作簿中删除宏?

java - Java中的切片字符串

c# - 从 Access 数据库读取字段时出现 IndexOutOfRangeException

c# - 从 Excel 文件读取

c# - 调用 C# 类声明之前的方括号中的内容是什么?