转:使用Office组件读取Excel,引用Microsoft.Office.Interop.Excel出现的问题
来源:互联网 发布:nginx 锁定域名 编辑:程序博客网 时间:2024/05/17 18:25
转自:http://www.cnblogs.com/Mainz/archive/2009/11/11/microsoft_office_interop_excel.html
操作背景:asp.net操作Excel
出现问题:在本地添加引用(com):Microsoft Office 11.0 Object Library,并写好程序调试正常,部署到服务器时,出现异常 Excel.Application不是对象.
初步诊断:服务器没有安装Office 和 Excel组件
第一步尝试解决:对服务器安装Excel等Office组件,进一步测试程序:失败!
第二步尝试解决:将Excel.exe生成Interop.Excel.dll,然后用sdk引用该Dll,编译成功,测试程序:成功!
原因:本地引用的com不会在程序的bin目录生成dll文件,而程序是根据路径在寻找dll的.部署到服务器上时,假如Excel等dll与本地路径不一致,将会抛出异常,定义的Excel对象肯定是不存在的.
具体方法:
1、如何生成Interop.Excel.dll?
进入你的visual studio的sdk下的bin目录,找到TlbImp.exe文件,如果没有,请用光盘安装此文件,详细说明请参照MSDN。
命令行(cmd)进入bin目录,运行TlbImp /out:Interop.Excel.dll Office安装目录+Excel.exe
此时很可能会报错:TlbImp error: Unable to locate input type library: 'c:/program files/mcrosoft offi
ce/office/EXCEL.EXE'
此问题很有可能是TlbImp的bug,不支持空格式的路径;(具体原因不明)不要紧,将Excel.exe拷贝入bin目录,直接运行TlbImp /out:Interop.Excel.dll Excel.exe,提示“Type library imported to Interop.Excel.dll路径”
在bin目录下找到Interop.Excel.dll文件。在你的visual studio里将其引用即可。
2、如果是excel2000或excel2002怎么办?
如果是Excel2000,则将Excel.exe改成Excel9.olb
Excel2002同2003
3、各种版本的引用组件参数如下:
文件/版本Interop.Excel.dllInterop.Office.dll Interop.VBIDE.dll添加引用/COM组件2000V1.3.0.0V2.1.0.0V5.3.0.0Microsoft Excel 9.0 Object Library(EXCEL9.OLB)2002(xp)V1.4.0.0V2.2.0.0V5.3.0.0Microsoft Excel 10.0 Object Library(Excel.EXE文件)2003V1.5.0.0V2.3.0.0V5.3.0.0Microsoft Excel 11.0 Object Library(Excel.EXE文件)
(另外一种既不需要客户端安装excel也不需要安装Microsoft.Jet.OLEDB.4.0的方法: http://www.codeproject.com/KB/office/ExcelReader.aspx)
- (转).net使用Office组件读取Excel,引用Microsoft.Office.Interop.Excel出现的问题
- 转:使用Office组件读取Excel,引用Microsoft.Office.Interop.Excel出现的问题
- 使用Office组件读取Excel,引用Microsoft.Office.Interop.Excel出现的问题
- 转:C#编程读取Excel文件,引用Microsoft.Office.Interop.Excel出现的问题
- C#编程读取Excel文件,引用Microsoft.Office.Interop.Excel出现的问题
- 引用Microsoft.Office.Interop.Excel出现的问题
- 引用Microsoft.Office.Interop.Excel出现的问题
- Microsoft.Office.Interop.Excel出现的问题(转)
- 引用Microsoft.Office.Interop.Excel的解决方法
- 关于引用Microsoft.Office.Interop.Excel的问题的解决方法
- C#使用Microsoft.Office.Interop.Excel.dll读取Excel文件
- 引用Microsoft.Office.Interop.Excel组件在服务器端操作Excel的权限配置
- 求解Microsoft.Office.Interop.Excel.Application引用
- ” Microsoft.Office.Interop.Excel”无法引用
- 【转载】Excel操作 Microsoft.Office.Interop.Excel.dll的使用
- 无法引用Microsoft.Office.Interop.Excel的解决
- NPOI读写Excel 或 Microsoft.Office.Interop.Excel 读取excel
- 使用Microsoft.Office.Interop.Excel时,64位问题
- 转:javascript实现导出excel
- android permission
- 对于学习的一点感想
- 转: ASP.Net call Excel
- 可执行jar包的MANIFEST.MF
- 转:使用Office组件读取Excel,引用Microsoft.Office.Interop.Excel出现的问题
- 关于Spring的OpenSessionInViewFilter
- 转: asp.net Excel Import / Export
- 第一次哦
- C++学习杂记
- MyEclipse快捷键大全(绝对全)
- NOSQL-Cassandra
- 深入探讨JAVA类加载器
- [JavaScript] 数字金额大写转换 v2