检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败

.NET这个EXCEL导出搞了我几个小时了,网上的都不行。我估计是.NET权限问题,但也不是很懂,求个懂的来解释下。
有人吗?

.NET导出Excel遇到的80070005错误的解决方法:
检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005基本上.net导出excel文件,都需要如此配置一下,不配置有的时候没错,而配置后基本应该不会出错。
具体配置方法如下:
1:在服务器上安装office的Excel软件.
2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"
3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"
4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框
5:点击"标识"标签,选择"交互式用户"
6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.
7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.
8.如果交互式用户设置后出现错误8000401a,可取消交互式用户,指定为administratr,可暂时解决此问题。进一步的解决方式还有待探讨。
9.采用第8点的设置后,打开Excel可能会出现“无法使用对象引用或链接”,并且不能进行单元格粘贴。原因不明,取消设置后即可消失。

另外说明:光按以上设置并不能完全保证不出问题,因为调用OFFICE的操作可能涉及其他的系统资源,很可能依然权限不够而导致问题,只是设置EXCEL应用程序后,还是可能会报80070005的错误,最保险的是应该在dcomcnfg中选中我的电脑然后右键属性->com安全,将里面的访问权限,启动和激活权限全都编辑默认,在当中加上network service(iis 5.0的话,要加的是asp.net用户),并如前面对networkservice设置上相同的权限,这样基本上能保证不会再出什么问题。

以上为基本出路方法,但是我也遇到过应用以上方法还是报错的情况,我的环境是windows2003 + office2003+office2007,在测试服务器上都可以导出无任何问题!但是更新了正式环境就是报错,权限都设置了还是报错,因为我的测试服务器是默认office启动的,所以我怀疑是office版本环境问题!于是我卸载了office2007,马上测试ok了,但是重启服务器后就产生了have not been Pre-compiled错误,导出页面都无法打开了,于是我又重新安装了office2007,页面可以打开了,但是导出excel时又开始报错!我又把所有的权限重新设置一遍,问题依旧!后来发现两个服务器默认打开excel的程序不一样,测试环境是默认office2003打开,正式环境是office2007打开,于是我在正式环境重新注册office2003,使其同样也是默认office2003打开程序,靠!问题终于解决了!!!

注册方法 执行 开始----运行----输入excel2003的安装路径,例如 "C:\Program Files\Microsoft Office\OFFICE11\excel.exe" /regserver 注意/符号前面有一个空格,其中"C:\Program Files\Microsoft Office\OFFICE11\excel.exe" 是excel2003的安装程序的路径,参数regserver表示注册的意思!
运行后,会启动Office 2003的安装程序,进行修复,重新注册。
excel2007为默认的启动程序的方法类同,可以执行 开始----运行----"D:\Program Files\Microsoft Office\Office12\excel.exe" /regserver
综上所述,再遇到Excel导出、导入问题时,先考虑权限问题,再考虑office的版本环境!如此基本能够解决这些问题了追问

这个答案我至少看了10遍了

温馨提示:内容为网友见解,仅供参考
无其他回答

...为 {00024500-0000-0000-C000-000000000046} 的组件时失败_百度知 ...
检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005基本上.net导出excel文件,都需要如此配置一下,不配置有的时候没错,而配置后基本应该不会出错。具体配置方法如下:1:在服务器上安装office的Excel软件.2:在"开始"->"运行"中输入dcomcnf...

检索COM 类工厂中 CLSID 为 {00024500
检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005 解决办法: 配置 DCOM 中 EXCEL 应用...

...000245000-0000-0000-C000-000000000046}的组件时失败,出现错误以下8...
80040154错误是没有注册类别,需要MSOWC.DLL文件,把MSOWC.DLL文件放到C:\\WINDOWS\\system32目录下,然后在CMD下运行regsvr32C:\\WINDOWS\\system32\\MSOWC.DLL即可。如果还不行,那就卸载相关软件重新安装(必须是正式版)。

iis发布后,导入excle,提示异常
发布web项目的时候,访问Excel文件出现以下错误:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。跟踪了一下,结果是将记录导出为Excel表时Excel的COM组件出错,但在VS2005里面却没有任何问题,因此得出结论,肯定是权限问题,查了下资料...

检索COM 类工厂中 CLSID 为 {00024500-00-00-C000-000046}的组件时失 ...
只是引用Dll文件,但是计算机本身就没有你所引用的Dll文件呀,因为你没有安装Office或没有将有关Dll文件注册到目标计算机中。你可以有两种解决方法:1、在目标计算机上安装Office软件(可能需要注意与你开发时使用的版本,如Office2000与Office2003或Office2007等版本区别),如此做后就可以解决你的问题;2、...

win10 铁路投资控制系统excel表格导不出来怎么解决
出EXCEL报表时,出现检索 COM 类工厂中 CLSI{00024500-0000-0000-C000-000000000046} 的组件时失败,错误: 80070005,怎么处理?错误原因:组件服务参数设置不正确。解决方法:1、在服务器上安装office XP及更高版本的Excel软件。2、在“开始”—“运行”中输入dcomcnfg.exe启动“组件服务”。3、依次双击...

c#打开word出现停止工作怎么办
检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。解决方法一:控制面板-》管理工具-》组件服务-》计算机-》我的电脑-》DCom配置-》找到Microsoft Word文档之后 单击属性打开此应用程序的属性对话框。2. 单击标识选项卡,然后选择交互...

具有CLSID {00024500-0000-0000-C000-000000000046} 的元件撷取 COM Cl...
夏天用青嫩的黄瓜美容。把黄瓜切成薄如蝉翼的小长片贴在脸上。黄瓜具有摄取身体多余热量的作用,还能消除皮肤的发热感,使发热皮肤平稳,同时排除毛孔内积存的废物,去除褐斑,使肌肤更加美丽,特别对容易出汗及脸上常长小疙瘩的人更适宜。方法:把一根鲜黄瓜切成薄片,先用热毛巾在脸部仔细擦试,接着仰面...

电脑上装的一个软件,怎么打印不了呢?别的什么Word文档都能打印,显示...
Office2003,当然,如果仅仅是导出Excel 则只需安装Office Excel), 没有安装Office是不能够进行导出的.二. 对于出现类似于 “错误代码:检索 COM 类工厂中 CLSID 为{00024500-0000-0000- C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。” 错误,其原因基本上是由于权限不够导致的,...

...程序无法处理的异常,000024500-0000-0000-C000-000000000046...
建议您卸载重新安装

相似回答
大家正在搜