C# 关于调用office com组件导出Excel
服务器环境:
环境为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是报错的,其余的均正确。
C# 关于调用office com组件导出Excel的更多相关文章
- 关于调用office com组件导出Excel
服务器环境: 环境为win2008 r2,系统为64位,程序是C#的winform.因为需要处理数据,然后生成Excel,耗时太长,就使用了多线程.winform程序是由计划任务启动,每天晚上去跑. ...
- ASP.NET调用Office Com组件权限设置
ASP.NET在调用Office Com组件时,经常会出现权限限制的问题,而出现如下错误: 现通过以下几步设置,可解决上述问题:(1)64位系统中,请在IIS应用程序池集成模式中应启用调用32位应用程 ...
- C# Microsoft.Office.Interop.Owc11 导出excel文件
C# Microsoft.Office.Interop.Owc11 导出excel文件 1.新建项SupremeWindowsForms窗体应用项目(项目平台设置称X86) 注意:因为大多数第三方写的 ...
- .Net调用Office Com组件的原理及问题检索com类工厂组件检索 COM 类工厂中 CLSID 为 {XXX} 的组件失败
我是在本地32位操作系统+vs2010+office2007做创建并下载Excel,ppt文件的操作没有问题,发布到64位系统的服务器上报错,最开始报错:: 1:Retrieving the COM ...
- Vue项目中将table组件导出Excel表格以及打印页面内容
体验更优排版请移步原文:http://blog.kwin.wang/programming/vue-table-export-excel-and-print.html 页面中显示的table表格,经常 ...
- springMVC框架+POI组件导出Excel
目的:访问url(http://localhost:8080/POIOutputExcel/outputexcel.do)实现excel导出,效果图如下: 文件目录(配置文件就不多说了,跟前面的随笔一 ...
- C#调用NPOI组件导出Excel表格
把一个List集合的数据导出到Excel表格中 public static string RenderToExcel<T>(List<T> datas) { MemoryStr ...
- 不引用office动态库导出excel
public class OutExcelReport { /// <summary> /// 把 DataSet 的数据导成 Excel /// </summary> /// ...
- webform 不实用office控件导出excel StringBuilder 类型拼接字符串表格导出excel
StringBuilder sb = new StringBuilder(); sb.AppendLine("<meta http-equiv=\"Content-Type\ ...
随机推荐
- style="display:none"隐藏html的标签
隐藏html的标签 <div class="span11 alignment"> <h1>我的虚拟网络</h1> </div> &l ...
- TCP/IP和Socket的关系
要写网络程序就必须用Socket,这是程序员都知道的.而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,w ...
- WaitForSingleObject()
参见:http://blog.csdn.net/xiaobai1593/article/details/6672193 1. 格式 DWORD WaitForSingleObject( HANDLE ...
- 深入解析AsyncTask
REFRENCES:http://blog.csdn.net/hitlion2008/article/details/7983449 AsyncTask的介绍及基本使用方法 关于AsyncTask的介 ...
- erlang的Socket的积压的消息的数量
转自:http://blog.csdn.net/pkutao/article/details/8572216 {ok, Listen} = gen_tcp:listen(?defPort, [bina ...
- HGNC 数据库-人类基因组数据库
HGNC 全称为HUGO Gene Nomenclature Committee, 叫做 HUGO基因命名委员会,负责对人类基因组上包括蛋白编码基因, ncRNA基因,甲基因和其他基因在内的所有基因提 ...
- Servlet+Ajax实现搜索智能提示
一般在百度搜索框输入关键词时,会弹出一些相关信息提示,方便点选: 页面(search.jsp): <input type="text" name="keyWords ...
- jquery的委托处理
1.基本用法: javascript的事件模型,采用”冒泡”模式,也就是说,子元素的事件会逐级向上”冒泡”,成为父元素的事件. 利用这一点,可以大大简化事件的绑定.比如,有一个表格(table元素) ...
- CSS定位背景图片 background-position
网站的样式的时候经常会发现一种情况,就是在很多background属性里都调用同一张图片,来满足网页各个部分的使用.打开这种图片看一下,会发现这张图片上包含了很多小图片; 又如: 这些小图片就是整图分 ...
- Navicat for MySQL使用手记(上)--创建数据库和表
在管理MySQL数据库的图形化工具中,最为熟知的就是phpMyAdmin和Mysql-Front了,今天跟大家分享另外一个管理mysql数据库的另外一个利器---Navicat MySQL. Navi ...