当前位置:编程学习 > C#/ASP.NET >>

使用Microsoft.Office.Interop.Excel.dll出现问题

我在我的机子上面安装的是office 2007
用Microsoft.Office.Interop.Excel.dll 没问题

但是在别人的机子上使用我开发的程序
会在运行期间发生错误,如下
说找不到Microsoft.Office.Interop.Excel.dll 
但是我把这个文件已经复制到程序目录中了阿。

因为他的机子上安装的是office 2003的原因吗?


运行时的错误内容:

System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Office.Interop.Excel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A)
File name: 'Microsoft.Office.Interop.Excel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' ---> System.Security.SecurityException: Strong name validation failed. (Exception from HRESULT: 0x8013141A)


--------------------编程问答-------------------- 'Microsoft.Office.Interop.Excel, Version=12.0.0.0

Version=12.0.0.0应该是Office 2007,如果没有用2007的新功能,请开发时引用Office 11也就是2003 的'Microsoft.Office.Interop.Excel --------------------编程问答-------------------- 但是我已经把这个 Microsoft.Office.Interop.Excel.dll(12.0.0.0) 这个文件复制到程序目录中了啊?

如果我复制的是 2003的 那客户用2000或者2007怎么办?也会出错?

我觉得 Microsoft.Office.Interop.Excel.dll(12.0.0.0) 这个dll在就应该不会出现找不到的错误啊??或者应该把 Microsoft.Office.Interop.Excel.dll(12.0.0.0) 放在那个位置就可以? --------------------编程问答-------------------- 光复制了没用,需要注册程序集的 --------------------编程问答-------------------- 谢谢
怎么注册呢?

我用 regsvr32 Microsoft.Office.Interop.Excel.dll 命令

它提示无法注册阿,找不到DllRegisterServer输入点。。。 --------------------编程问答-------------------- 顶一下 求助啊~ --------------------编程问答-------------------- 版本问题。我以前OFFICE2000时也出现过这种问题。 --------------------编程问答-------------------- 添加引用,把你的dll引用过去
--------------------编程问答-------------------- 楼主解决了么?我也遇到相同的问题了。。。 --------------------编程问答-------------------- 是11就装03
是12就装07

dll貌似没用,因为程序要调用com组件... --------------------编程问答-------------------- 可能是OFFice组件没有能被调用,需要配置系统com+组件 --------------------编程问答-------------------- 试试对应 Office 版本的 Office PIA --------------------编程问答-------------------- 我引用的是11的组件,但是用它来操作EXCEL新增的EXCEL文件为什么用EXCEL2003打不开,
必须在2007下才能打开呢。。难道03的Microsoft.Office.Interop.Excel.dll新建的EXCEL变成2007版本了??
--------------------编程问答-------------------- 我引用的是12组件。没装Office2007之前,用2003。写的程序生成的Excel文件能正常打开。安装2007后,程序生成的文件不能用2003打开了。用2007打开时警告文件格式与指定文件扩展名的格式不一致,但能打开。 --------------------编程问答--------------------   这个问题纠结很久了。。引用的C:\Program Files\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12\Microsoft.Office.Interop.Excel.dll在别个电脑上能用。。在我电脑上就说检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80040154 没有注册类别 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。。。然后又注册这个dll。。又说已加载Microsoft.Office.Interop.Excel.dll没有找到DllResgisterServer输入点 。。然后我看我VS里面COM组件中木有
Microsoft.Office.Interop.Excel.dll。。不会又要装OFFICE吧。。求解啊。。 --------------------编程问答--------------------
引用 14 楼 snowlianlian 的回复:
  这个问题纠结很久了。。引用的C:\Program Files\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12\Microsoft.Office.Interop.Excel.dll在别个电脑上能用。。在我电脑上就说检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C0……


Microsoft.Office.Interop.Excel.dll 封装的是office 自动化服务器 本地代理,你注册这个没啥用的。
需要的是重装office,2007不行就装2003 --------------------编程问答-------------------- 我也遇到該問題了,在本機裝了OFFICE2003,但在服務器上未裝OFFICE,程式在本機可運行,但在服務器上就報錯了。Interop.Excel.dll文件有COPY到服務器。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,