【问题标题】:Read excel file with c# in 64-bit pc with Office 2003使用 Office 2003 在 64 位 pc 中使用 c# 读取 excel 文件
【发布时间】:2012-09-11 11:14:13
【问题描述】:

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

当应用程序安装在装有 Office 2003 的 Windows 7 电脑上时,我无法使用 Microsoft.ACE.OLEDB.12.0 读取 excel 文件。我收到 Microsoft.ACE.OLEDB.12.0 未注册的消息。 使用 Microsoft.JET.OLEDB.4.0。也无济于事。

那么我们如何读取excel文件呢?我知道一种选择是构建我的应用程序,强制它编译为 (x86),以便它作为 32 位应用程序运行。 好的,假设我不想这样做,还有其他选择吗? 感谢您的任何回答。欢迎任何cmets!

【问题讨论】:

  • ACE 12 适用于 2007 年和 2010 年。在此之前的任何内容都是 JET

标签: c# excel


【解决方案1】:

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

http://www.microsoft.com/en-us/download/details.aspx?id=13255

【讨论】:

  • 你读过博文吗? Access 2010 x64 具有 64 位版本的 ACE。
  • Office x64 的安装存在限制可能一文不值。 Technet 有此信息。
  • 我已经尝试过了,但它给我的错误是我安装了以下 32 位应用程序:Office 2003,所以我无法安装 Microsoft Access Database Engine Redistributable 2010_x64。
  • 您可能需要卸载office,安装引擎可再发行,然后重新安装office。
  • 我明白了,但我认为应用程序的用户不会对这个解决方案非常满意!
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    相关资源
    最近更新 更多