使用Microsoft.Office.Interop.Excel导出Excel时出错

时间:2010-11-25 10:12:38

标签: c# excel

我使用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之一的客户端计算机上运行良好。

感谢。

3 个答案:

答案 0 :(得分:1)

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

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

编辑:

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

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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