服务器环境:

环境为win2008 r2,系统为64位,程序是C#的winform。因为需要处理数据,然后生成Excel,耗时太长,就使用了多线程。winform程序是由计划任务启动,每天晚上去跑。

需求:

每日需要生成大量的Excel给用户,大约有1W4+的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组件,然后点击右键属性。

         
 

           在安全里,所有的选择自定义,然后点击编辑,把设置计划任务的用户名输入进去,开启所有读写权限。(我发现,启动的EXCEL.EXE程序的用户就是计划任务的用户,所以我认为是该用户在访问COM组件)

           然后点击标识,选择下列用户,输入用户名,密码。最后确定。解决了80070005错误,但是当解决了80070005错误后,新的错误8000401a产生了。目前1W4+的Excel,导出的时候只有2-4Excel是报错的,其余的均正确。

   解决2):8000401a错误尚未解决,网上有说加入everyone用户即可。测试无效果。
    

关于调用office com组件导出Excel的更多相关文章

  1. C# 关于调用office com组件导出Excel

    服务器环境: 环境为win2008 r2,系统为64位,程序是C#的winform.因为需要处理数据,然后生成Excel,耗时太长,就使用了多线程.winform程序是由计划任务启动,每天晚上去跑. ...

  2. ASP.NET调用Office Com组件权限设置

    ASP.NET在调用Office Com组件时,经常会出现权限限制的问题,而出现如下错误: 现通过以下几步设置,可解决上述问题:(1)64位系统中,请在IIS应用程序池集成模式中应启用调用32位应用程 ...

  3. C# Microsoft.Office.Interop.Owc11 导出excel文件

    C# Microsoft.Office.Interop.Owc11 导出excel文件 1.新建项SupremeWindowsForms窗体应用项目(项目平台设置称X86) 注意:因为大多数第三方写的 ...

  4. .Net调用Office Com组件的原理及问题检索com类工厂组件检索 COM 类工厂中 CLSID 为 {XXX} 的组件失败

    我是在本地32位操作系统+vs2010+office2007做创建并下载Excel,ppt文件的操作没有问题,发布到64位系统的服务器上报错,最开始报错:: 1:Retrieving the COM ...

  5. Vue项目中将table组件导出Excel表格以及打印页面内容

    体验更优排版请移步原文:http://blog.kwin.wang/programming/vue-table-export-excel-and-print.html 页面中显示的table表格,经常 ...

  6. springMVC框架+POI组件导出Excel

    目的:访问url(http://localhost:8080/POIOutputExcel/outputexcel.do)实现excel导出,效果图如下: 文件目录(配置文件就不多说了,跟前面的随笔一 ...

  7. C#调用NPOI组件导出Excel表格

    把一个List集合的数据导出到Excel表格中 public static string RenderToExcel<T>(List<T> datas) { MemoryStr ...

  8. 不引用office动态库导出excel

    public class OutExcelReport { /// <summary> /// 把 DataSet 的数据导成 Excel /// </summary> /// ...

  9. webform 不实用office控件导出excel StringBuilder 类型拼接字符串表格导出excel

    StringBuilder sb = new StringBuilder(); sb.AppendLine("<meta http-equiv=\"Content-Type\ ...

随机推荐

  1. 用STRACE解决公司真实故障一例

    这是相关分析文档.为了职业操守,已修改相关公司敏感信息~~~ ~~~~~~~~~~~~~~~~~~~~~~~~ 关于论坛每五分钟左右,会有warning.html跳转出现的原因调查 (warning. ...

  2. Struts2拦截器总结<转>

    由于项目中在登录跳转到其他应用程序模块的时候有用到拦截器,因此查看了一下相关资料. 原文地址:http://blog.csdn.net/sendfeng/article/details/4248120 ...

  3. struts配置时遇到的几个问题

    1. struts在配置文件的时候,如果package包继承为 :extends="json-default" ,那么项目中要引入struts2-json-plugin-xxx.j ...

  4. Com进程通信(有详细步骤)

    http://www.cnblogs.com/FKdelphi/p/5772950.html

  5. Sublime Text 有哪些使用技巧

    1. 更改变量名的几种方法&lt;img src="https://pic4.zhimg.com/d93cf0e8987e0117f3a3187cfe8e53fb_b.jpg&quo ...

  6. Inotify: 高效、实时的Linux文件系统事件监控框架

      Inotify: 高效.实时的Linux文件系统事件监控框架   概要 - 为什么需要监控文件系统? 在日常工作中,人们往往需要知道在某些文件(夹)上都有那些变化,比如:   通知配置文件的改变 ...

  7. COJ 3007 Mr.Yang的小助手

    传送门:http://oj.cnuschool.org.cn/oj/home/problem.htm?problemID=1037 试题描述: 信息学社团已经逐渐发展壮大,成员也越来越多.现在,有n个 ...

  8. -_-#【CSS3】CSS3 gradient transition with background-position

    CSS3 gradient transition with background-position <!DOCTYPE html> <html> <head> &l ...

  9. UVaLive5031 Graph and Queries(时光倒流+名次树)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=20332 [思路] 时光倒流+名次树(rank tree). 所谓“ ...

  10. VirtualBox扩展Ubuntu磁盘空间

    有时候我们在使用virtualBox虚拟机时,创建虚拟机时并没有考虑到所占用硬盘大小,后来可能磁盘空间不够用了. 以下方法可以帮你扩展虚拟机的存储空间(以下Ubuntu为例). 1. 在宿主机器进入V ...