我已经安装了 64 位版本的 ACE,但由于某种原因它无法正常工作。我不断得到提供者未在机器上注册。我正在使用以下连接字符串。
OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.16.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0'");
我需要额外的东西才能使用 64 位版本吗?
最佳答案
使用默认项目设置,编译为“任何 CPU”二进制文件的 .NET 应用程序将作为 32 位进程执行,即使在 64 位 Windows 上也是如此。不知道为什么,可能是一些旧的兼容性原因。
很容易改变。打开项目属性,“Build”选项卡,并取消选中“Prefer 32-bit”复选框。取消选中该复选框后,您的应用程序将在 64 位操作系统上作为 64 位进程执行,然后您将获得已安装的 64 位版本的 ACE。
关于c# - 尝试在 C# 中打开 Excel 工作表但未安装提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55685922/