在带有Office 2003的64位pc中使用c#读取excel文件

在带有Office 2003的64位pc中使用c#读取excel文件,c#,excel,C#,Excel,我有一个桌面应用程序,它必须读取excel文件(或.xls或.xlsx) 当应用程序安装在带有Office 2003的Windows 7 pc中时,我无法使用Microsoft.ACE.OLEDB.12.0读取excel文件。我收到一条消息,Microsoft.ACE.OLEDB.12.0未注册。 使用Microsoft.JET.OLEDB.4.0。这也没用 那么我们如何读取excel文件呢?我知道一个选择是构建我的应用程序,强制将其编译为(x86),使其作为32位应用程序运行。 好吧,如果我不

我有一个桌面应用程序,它必须读取excel文件(或.xls或.xlsx)

当应用程序安装在带有Office 2003的Windows 7 pc中时,我无法使用Microsoft.ACE.OLEDB.12.0读取excel文件。我收到一条消息,Microsoft.ACE.OLEDB.12.0未注册。 使用Microsoft.JET.OLEDB.4.0。这也没用

那么我们如何读取excel文件呢?我知道一个选择是构建我的应用程序,强制将其编译为(x86),使其作为32位应用程序运行。 好吧,如果我不想这样做,还有其他选择吗?
谢谢你的回答。欢迎评论

您需要安装64位JET/ACE驱动程序:

听起来像是一份工作。可以处理xls和xlsx文件的独立库。不需要使用那些Jet库。
好的,这将需要一些工作,但您可以从用户机器上无法控制的东西中删除依赖项。

您甚至读过这篇博文吗?Access 2010 x64有一个64位版本的ACE。它可能毫无价值。Office x64的安装有限制。Technet有此信息。我已经尝试过,但它给我的错误是,我安装了以下32位应用程序:Office 2003,因此我无法安装Microsoft Access数据库引擎可再发行2010_x64。您可能需要卸载Office,安装引擎可再发行,然后重新安装office。我明白了,但我不认为应用程序的用户会对这个解决方案很满意!ACE 12适用于2007年和2010年。在那之前的任何事情都是喷气式飞机