我有一个网站,使用MS Excel文件读/写。
我添加了相关的dll的网站的Bin文件夹,它在我的本地主机上完美的工作(我想是因为我已经安装了MS Excel 2010在我的电脑上)
但是当我把它上传到远程电脑并运行网站时,它会抛出一个错误:
未能加载文件或程序集“Microsoft.Office.Interop.Excel,Version=14.0.0.0,Culture=neutral,PublicKeyToken= 71 e9 bce 111 e9429 c”或它的某个依赖项。找到的程序集的清单定义与程序集引用不匹配。(HRESULT异常:0x 80131040)中的一个值
Bin文件夹中的文件是:
Microsoft.Vbe.Interop.dll
office.dll
Microsoft.Office.Interop.Excel.dll
Microsoft.Office.Interop.Excel.xml
office.xml
我已在远程电脑上安装了“Microsoft Office 2010:可再发行主互操作程序集”,http://www.microsoft.com/en-us/download/details.aspx?id=3508
但同样的错误发生。
如何解决这个问题?
- 谢谢-谢谢
5条答案
按热度按时间8ehkhllq1#
单向-安装MS Office(MS Excel)
bmp9r5qi2#
我知道这个线程有点旧,但我有同样的错误,我解决了它(它在我的项目中工作)。
在我的web.config文件中,我添加了程序集:
<add assembly="office, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"/>
和许多其他办公组件。我所做的是从web.config文件中删除了所有程序集,并添加了dll作为引用-在本例中为Microsoft.Office.Interop.Excel.dll。
我不是Maven,我只是大声地想,web.config文件正试图从C:\Windows\assembly\中拉出dll. file,如果找不到的话,会返回错误。
你不必在你的服务器上安装Office或其他不必要的东西。
希望这对某人有所帮助。
bvpmtnay3#
在C#项目中使用Excel的正确步骤是:
1.加入对Excel Interop程式库的指涉(组件)
1.在
using
节中添加Excel1.现在,在您的编码中使用它。
如果您的PC上安装了Office(Excel),则第一步将正常工作。如果没有,则安装。然后添加对所需版本的
Microsoft.Office.Interop.Excel
的引用。a.如果列表中没有显示所需的版本,那么您可能有另一个安装了Excel的Office版本。顺便说一句,您可以使用任何版本。
B.如果您没有找到类似
Microsoft.Office.Interop
的内容,则可能是Office尚未安装,或者您安装的是Office 2013或更高版本。对于更高版本,您可以通过进入添加引用窗口的COM选项卡添加程序集,然后添加Microsoft Excel {version-no} Object Library
。这将添加相同的内容。c.如果参考文件中已经有
Microsoft.Office.Interop...
,且带有黄色三角形标记,则首先将其删除。之后,第二步将完全工作:
using Excel=Microsoft.Office.Interop.Excel;
最后,作为第三步,您可以通过
Excel.Application xlApp = new Excel.Application();
创建Excel对象。vatpfxk54#
您不需要安装MS Office- 2010,添加参考-〉COM-〉“Microsoft Office 12.0对象库”
这对我很有效。
envsm3lx5#
如果通过IIS运行应用程序,则需要将标识设置为本地系统