在 x64 系统上使用 .NET 打开 Excel 电子表格

在 x64 系统上使用 .NET 打开 Excel 电子表格

我无法使用以下连接字符串在 x64 服务器上使用 .NET 打开 Excel 电子表格

“提供程序=Microsoft.Jet.OLEDB.4.0;数据源=“+filePath+”;扩展属性=Excel 8.0;”

我得到的是“Microsoft.Jet.OLEDB.4.0”提供程序未在本地机器上注册。

我安装了 2007 Office System 驱动程序:数据连接组件,并尝试使用 Microsoft.ACE.OLEDB.12.0 和此连接字符串

“提供程序=Microsoft.ACE.OLEDB.12.0;数据源=“+filePath+”;扩展属性=Excel 8.0;”

并得到“‘Microsoft.ACE.OLEDB.12.0’提供程序未在本地机器上注册。”

我在 Google 上搜索,唯一的答案是这是一个 64 位问题,有人知道如何解决这个问题吗?

答案1

您可以使用 Open XML SDK 打开 Excel 2007 文件并读取或更改其内容。

http://www.microsoft.com/downloads/details.aspx?FamilyID=c6e744e5-36e9-45f5-8d8c-331df206e0d0&DisplayLang=en

这不使用 Excel 程序,而是将其作为 xml 文档打开。这样就解决了 64 位问题。

但它可能需要对您的程序进行重大修改。

答案2

您只能从 32 位版本的框架执行此操作。如果是 ASP.net 应用程序,您可以更改服务器以在 32 位框架下运行它。如果是本机应用程序,则必须重新编译(尽管最好在 stackoverflow 上询问)

答案3

你不能,驱动程序不在那里。我发现的唯一解决方法是,如果可以的话,将其保存为 csv 并以此方式读取。

答案4

我还没试过,但是显然/passive 安装开关可能是一种解决方法64位王牌

相关内容