4

我有一个使用 MS Excel 文件读/写的网站。

我在网站的 Bin 文件夹中添加了相关的 dll,它在我的本地主机上运行良好(我想是因为我已经在我的电脑上安装了 MS Excel 2010)

但是当我将它上传到远程电脑并运行该站点时,它会抛出一个错误:

无法加载文件或程序集“Microsoft.Office.Interop.Excel,版本=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

Bin文件夹中的文件是:

Microsoft.Vbe.Interop.dll 
office.dll 
Microsoft.Office.Interop.Excel.dll 
Microsoft.Office.Interop.Excel.xml 
office.xml 

我已经在远程电脑上安装了“Microsoft Office 2010:Primary Interop Assemblies Redistributable”, http://www.microsoft.com/en-us/download/details.aspx?id=3508

但同样的错误发生。

如何解决这个问题?

谢谢。

4

4 回答 4

2

一种方法 - 安装 MS Office (MS Excel)

于 2013-04-25T10:55:15.797 回答
1

我知道这个线程有点旧,但我遇到了同样的错误并且我解决了它(它在我的项目中有效)。

在我的 web.config 文件中,我添加了程序集:

<add assembly="office, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"/>和许多其他办公室集会。

我所做的是我已经从 web.config 文件中删除了所有程序集,并添加了 dll 作为参考——在这种情况下是 Microsoft.Office.Interop.Excel.dll。

我不是专家,我只是大声思考 web.config 文件正在尝试提取 dll。来自 C:\Windows\assembly\ 的文件,如果无法找到,则返回错误。

您不必在服务器上安装办公室或其他不必要的东西。

希望这对某人有所帮助。

于 2013-09-05T13:25:23.073 回答
1

在 C# 项目中使用 Excel 的正确过程是:

  1. 添加对 Excel 互操作库(程序集)的引用
  2. using在部分中添加 Excel
  3. 现在在你的编码中使用它。


如果您的 PC 中安装了 Office(Excel),则第一步将起作用。如果没有,则安装。然后添加对Microsoft.Office.Interop.Excel您需要的版本的引用。

一种。如果列表未显示所需版本,那么您可能对安装了 Excel 的 Office 有另一种看法。顺便说一句,你可以使用任何。

湾。如果您没有找到类似Microsoft.Office.InteropTHEN 的内容,则可能是未安装 Office,或者您拥有 Office 2013 或更高版本。对于更高版本,您可以通过进入添加引用窗口的COMMicrosoft Excel {version-no} Object Library选项卡添加程序集并添加. 这将添加相同的内容。

C。如果您已经Microsoft.Office.Interop...在带有黄色三角形标记的参考文献中,请先将其删除。



之后第二步将完全起作用:using Excel=Microsoft.Office.Interop.Excel;



最后作为第三步,您可以通过创建 Excel 对象Excel.Application xlApp = new Excel.Application();

于 2016-01-02T11:56:13.103 回答
0

您无需安装 MS Office-2010,添加参考 -> COM->“Microsoft office 12.0 Object Libaray”

它对我有用。

于 2015-11-18T05:02:36.840 回答