Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Microsoft.Office.Interop.Excel导出Excel时出错_C#_Excel - Fatal编程技术网

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

C# 使用Microsoft.Office.Interop.Excel导出Excel时出错,c#,excel,C#,Excel,我使用Microsoft.Office.Interop.Excel.dll COM导出Excel。我将应用程序分发给客户。它在我的计算机上运行良好,但在另一台计算机上,它会导致错误 我想知道应用程序包是否应该包含在Microsoft.Office.Interop.Excel.dll中,并且计算机必须安装Microsoft Excel。谢谢 我的应用程序是C#.NET2.0 更新:我有一个问题。我不知道客户端计算机上excel的版本。那么,我将使用哪种版本的PIA 如果我使用Microsoft.O

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

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

我的应用程序是C#.NET2.0

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

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


谢谢。

如果你想使用办公自动化,你应该安装Office。这是因为interop类将在后台创建excel实例,并在该实例上运行所有操作


如果没有安装office,它将无法正常运行。还请记住,在服务器上使用office automation不是一个好办法(因为安全问题等)。

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

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

  • Interop.Microsoft.Office.Core.dll
  • Microsoft.Vbe.Interop.dll
编辑:

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

有关安装和部署PIA的完整参考信息,请参见:


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

什么错误?您/他们的计算机上的Excel版本是什么?你是使用早绑定还是晚绑定?我更新了我的问题。请帮助我。你应该为你的新问题创建一个新问题,这样更多的人会看到它并回答它。但是,如果您使用后期绑定,您不必太担心它是什么版本的Excel(当然,只要您不使用某些只存在于某些版本中的功能)。查看此链接了解有关后期绑定与早期绑定的更多信息:我只部署Microsoft.Office.Interop.Excel.dll。请告诉我这些文件的用途。谢谢。@Lu-Lu:Office2003PIA与更新版本的Office兼容,所以2003PIA应该可以与Office2007和2010一起使用,不做任何更改。您好,我有两个问题:1。如何检测使用office excel 2003或office excel 2007或不使用office excel的客户端计算机。假设客户端计算机有一个office excel版本,我将使用哪个版本的PIA向我的项目添加引用,并且我的应用程序可以运行良好,而不依赖客户端上的excel版本。我可以在应用程序中包含哪些DLL,客户端不需要安装PIA。谢谢