首页 新闻 会员 周边

asp.net向Excel导入数据的问题

0
悬赏园豆:10 [已关闭问题]
我写了一个向Excel导入数据的程序,在本机调试、运行都可以。但拿到另一台机器,配置到IIS中访问,报错:<br>异常详细信息: System.Runtime.InteropServices.COMException: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80040154。<br>thisApplication = new <b>thisExcel.Application()</b>;<br>行 39:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; thisExcel.Workbook thisWorkbook = thisApplication.Workbooks.Add(Type.Missing);<br>我已经加入引用:office.dll,Microsoft.Office.Interop.Excel.dll,Microsoft.Office.Tools.Excel.dll<br>三个dll文件,不知道什么原因,注另一台机器上没有安装office。大家看看有解决方法吗,谢谢。<br>
姜涛的主页 姜涛 | 初学一级 | 园豆:5
提问于:2008-06-26 14:43
< >
分享
其他回答(1)
0
上述COM组件你有注册过吗?记得COM组件是需要注册后才能使用的。
Beasy | 园豆:245 (菜鸟二级) | 2008-06-26 15:43
0
只是引用Dll文件,但是计算机本身就没有你所引用的Dll文件呀,因为你没有安装Office或没有将有关Dll文件注册到目标计算机中。你可以有两种解决方法: 1、在目标计算机上安装Office软件(可能需要注意与你开发时使用的版本,如Office2000与Office2003或Office2007等版本区别),如此做后就可以解决你的问题; 2、将你开发时的Office中Dll文件一起打包并安装目标计算机上(当你不想使用第1种解决方法,即在目标计算机上安装Office软件时,可采用此方法),这同样能解决你的问题。 对楼主评论中补充问题的回答: 楼主没有制作过Asp.Net项目的安装程序吗?应该很熟悉呀,其实和Windows程序的安装程序制作过程有些相似。最简单的方法就是在开发中你使用的Office中的Dll文件在制作安装程序时与主输出一起打包,或者拷贝这些Dll文件到源程序的Bin文件夹下,并在开发时选择此处的Dll文件来添加引用。
刚刚 | 园豆:3151 (老鸟四级) | 2008-06-26 16:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册