标签:
服务器环境:
环境为win2008 r2 系统为64位 ,程序是C#的winform。因为需要处理数据,最后生成Excel,耗时太长,就使用了多线程。winform程序是由计划任务启动,每天晚上去跑。
需求:
每日需要生成大量的Excel给用户,大约有1W+的Excel需要生产,原来使用的Aspose.Cells.dll生成的,但是发现总有很多Excel莫名其妙的不生成,也不报错。后来换成了office的Excel,解决了生成Excel的问题。
但是开发环境下是没问题,服务器上不好使。
下面是遇到的问题:
1、服务器没有Excel的COM组件
解决:安装office的Excel即可。
2、找不到Excel的COM组件,Microsoft Excel Application
解决:32位系统输入dcomcnfg即可找到
64位系统输入comexp.msc -32即可找到。因为Excel的COM组件是32位的。
3、导出Excel的过程中,报:
1)检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005
2)检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 8000401a
解决1):80070005,经网上查找,发现是没有配置Excel的COM组件的权限问题。需要配置DCOM配置。具体如下:(网上的配置我没配置明白。最后按自己理解配的)
在开始-运行里,输出上面提到的命令。找到此Excel组件,然后点击右键属性。
标签:
原文地址:http://www.cnblogs.com/cang12138/p/5760317.html