我使用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之一的客户端计算机上运行良好。
感谢。
答案 0 :(得分:1)
您是否部署了其他必需的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(主要互操作组件)以与您的应用程序一起部署。