C#调用Interrop.excel导出Excel文件失败解决方案

  最近操作员反馈系统在导出Excel时失败,有抛出如下异常:系统错误信息:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80040154。

       在网上搜相关解决方案,都是说在CMD中打开 dcomcnfg ,设置对应的Microsoft Excel的相关权限。按上述操作,问题并未解决,而我自己开发机器并未安装Office(但安装了WPS),也能正常导出生成EXCEL文件。于是确认问题的原因是调用COM时,找相关的注册表键值失败。

      解决办法:找一台能正常导出EXCEL的机器,在此机器的注册表内找到所有与“00024500-0000-0000-C000-000000000046”项相关的键值,导出注册表文件。要注意的是:注册表内ProgI引用的应用在出错机器必须有安装。

猜你喜欢

转载自www.cnblogs.com/todayhero/p/10248910.html