尝试与 Excel 建立连接时出现 OleDb 异常

OleDb exception when trying to make connection with Excel

我正在开发一个 C# Windows 表单应用程序,它读取和写入数据到 Excel 文件,例如 data.xls

我已将连接字符串设为:

string Excel03ConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=YES'";

我的 data.xls 文件在 Project 的 bin 文件夹中。我过去 4 到 5 天都在处理这个应用程序。到目前为止,我的应用程序运行良好。但是从今天开始报错

Unexpected error from external database driver (1).

于 con.open();

这似乎是上次 Windows 更新引入的错误。

为避免此错误,您可以将连接字符串中的提供程序更改为 Microsoft.ACE.OLEDB.12.0 而不是 Microsoft.Jet.OLEDB.4.0

https://blogs.msdn.microsoft.com/dataaccesstechnologies/2017/10/18/unexpected-error-from-external-database-driver-1-microsoft-jet-database-engine-after-applying-october-security-updates/

删除以下知识库以解决此问题
Windows 10 版本 1703 - KB4041676
Windows 10 版本 1607 和 Windows 服务器 2016 - KB4041691
Windows 8.1 和 Windows 服务器 2012 - KB4041693
Windows 7 和 Windows 服务器 2008 R2 - KB4041681
由于2017年10月第二周windows更新