【问题标题】:Error when export Excel using Microsoft.Office.Interop.Excel使用 Microsoft.Office.Interop.Excel 导出 Excel 时出错
【发布时间】:2010-11-25 10:12:38
【问题描述】:

我使用 Microsoft.Office.Interop.Excel.dll COM 导出 excel。我将我的应用程序分发给客户。它在我的计算机上运行良好,但在另一台计算机上,它会导致错误。

我想知道应用程序包应该包含Microsoft.Office.Interop.Excel.dll 并且计算机必须安装Microsoft Excel。谢谢。

P/S:我的应用是 C# .net 2.0。

更新:我遇到了问题。我不知道客户端计算机上的 excel 版本。那么,我将使用哪个版本的 PIA?

如果我使用 Microsoft.Office.Interop.Excel.dll 版本 11(适用于 Office 2003)构建我的应用程序,但如果客户端计算机安装了 Office 2007,会出现什么问题。它会运行还是不运行?如何只使用一个 Microsoft.Office.Interop.Excel.dll 并在任何具有 Office 2003、2007 或 2010 之一的客户端计算机上运行良好。

谢谢。

【问题讨论】:

  • 什么错误?您的计算机/他们的计算机上的 Excel 版本是什么?您使用了早期绑定还是后期绑定?
  • 我更新了我的问题。请帮帮我。
  • 你应该为你的新问题创建一个新问题,这样更多的人会看到它并回答它。但是,如果您使用后期绑定,则不必太担心它是什么版本的 Excel(只要您不使用某些仅存在于某些版本中的功能)。查看此链接以获取有关晚期与早期绑定的更多信息:support.microsoft.com/kb/302902

标签: c# excel


【解决方案1】:

您是否部署了其他必要的 DLL?

  • Interop.Microsoft.Office.Core.dll
  • Microsoft.Vbe.Interop.dll

编辑:

您应该在项目中看到两个引用:Microsoft.Office.CoreVBIDE。单击这些引用并将属性“本地副本”设置为 true。

可以在此处找到安装和部署 PIA 的完整参考:http://msdn.microsoft.com/en-us/library/aa159923%28office.11%29.aspx

该网站上还有一个指向可再分发文件的链接,您可以在安装程序中包含并运行该文件以将 PIA 安装到 GAC 中。

【讨论】:

  • 我只部署 Microsoft.Office.Interop.Excel.dll。请帮助我了解 2 个这些文件的用途。谢谢。
  • @Lu Lu:Office 2003 PIA 与较新版本的 Office 兼容,因此 2003 PIA 无需任何更改即可与 Office 2007 和 2010 兼容。
  • 您好,我有两个问题: 1. 如何检测使用office excel 2003 或office excel 2007 或没有office excel 的客户端计算机。假设客户端电脑有office excel版本,我会使用哪个版本的PIA来添加对我的项目的引用,我的应用程序可以很好的运行而不依赖于客户端的excel版本。我可以在我的应用程序中包含哪些 DLL,并且客户端不需要安装 PIA。谢谢。
【解决方案2】:

如果您想使用 Office 自动化,您应该始终安装 Office。这是因为互操作类将在后台创建一个 excel 实例并在该实例上运行您的所有操作。

如果没有安装office,它将无法正常运行。另请记住,在服务器上使用办公自动化不是可行的方法(由于安全问题等)。

【讨论】:

    【解决方案3】:

    他们是否使用相同版本的 Excel?您可以查看 PIA(主要互操作组件)以与您的应用程序一起部署。

    【讨论】:

      猜你喜欢
      • 2012-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多