服务器上使用EXCEL组件

来源:互联网 发布:凸包算法有什么作用 编辑:程序博客网 时间:2024/05/14 10:35

 ---------------配置组件服务下的DCOM--------------------------------------
使用DCOM组件服务操作Excel,权限问题,进程释放问题
1、使用模拟帐户,在Web.config文件中加入
<!identity impersonate="true" userName="administrator" password=""/>
2、在DCOM组件服务中给MICROSOFT.EXCEL组件 赋予ASP.NET的操作权限,具体步骤:
(1)打开开始菜单的运行对话框,输入dcomcnfg命令,确定,这时会弹出组件服务窗口
(2)展开计算机-〉我的电脑-〉DCOM配置,找到Microsoft Excel应用程序节点
(3)单击右键-〉属性,选中"安全"选项,在下面三个项目都选择"自定义",并单击编辑按钮
(4)在启动权限对话框中点击添加按钮,添加相应的用户(注意:如果是WIN2000,XP,则添加"机器名/ASPNET"用户,我这里是以WIN2003为例,WIN2003是添加"NETWORK Service"用户),并赋予最大权限

二、结束Excel进程
释放所用到的所有Excel对象的资源,所有对象显示声明,显示释放

三 应用类库Excel
Interop.Excel.dll
Interop.Microsoft.office.core
Interop.VBIDE.dll

四.Excel用以web操作时,上传下载临时目录最好建其它虚拟路径保存,和应用目录分开,安全,方便定期清楚临时文件.templates和应用关系紧密,可集成在应用目录中.

---------------组件服务错误时---------------------------------------
MSDTC服务不正常,于是先从这里下手,具体的解决方法如下:
1、首先进入组件服务,查看组件服务/计算机/我的电脑/COM+应用程序,结果报错"COM+ 无法与 Microsoft 分布式事务协调程序交谈",无法查看里面的对象。
2、进入事件查看器,发现msdtc服务没有正常启动。
3、删除注册表中的键:
• HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSDTC
• HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC
• HKEY_CLASSES_ROOT/CID
4、停止MSDTC服务:net stop msdtc
5、卸载MSDTC服务:msdtc -uninstall
6、重新安装MSDTC服务:msdtc -install
7、确认在事件查看器中msdtc服务已经正常启动[这步很关键,如果没有,重新启动下电脑看看,然后再同步密码(就是开始的那三步)

其实"COM+ 无法与 Microsoft 分布式事务协调程序交谈"在安装了Windows组件中的消息队列后,就不会出现这个错误了,同时"消息队列"组件又对服务中的"Distributed Transaction Coordinator"(即msdtc服务)有依存关系,这个服务必须启用,才可以安装消息队列组件!消息队列装好后,上图中的COM+应用程序菜单就可以打开了,表示其已正常工作!如果在这个时候再装IIS或者把IIS卸载重装,就不需要上面的手动密码同步问题了!就是说按这个步骤安装好IIS,就已经正常了!实际上,手工同步密码