部署到服务器后,导出Excel发生错误Retrieving the COM class factory for component with CLSID {0002450000000000C000000000000046}

Excel导出程序,在本地运行正常。部署到服务器后运行发生如下错误:Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005 拒绝访问。 (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

------------------------------------------------------------------------------------------------------------------------

服务器是windows 2008 64位的操作系统。解决方法如下:

dcomcnfg打开组件服务(64位操作系统为运行comexp.msc -32)

组件服务—》计算机—》我的电脑—》DCOM配置—》Microsoft Excel Appliction

右键属性—》安全—》添加设置用户

注意,在启动和激活权限中,要同时勾选本地启动和本地激活的选项

------------------------------------------------------------------------------------------------------------------------

注意,如此设置完成之后,在操作Excel时可能会报内存或磁盘空间不足的错误,需要按如下方法进行解决:

右键属性—》标识—》改为交互式用户

------------------------------------------------------------------------------------------------------------------------

注意:如果选择"交互式用户",则必需登录到系统,IIS 用户才有权限访问EXCEL COM

参考:http://support.microsoft.com/kb/305761/zh-cn

原文地址:https://www.cnblogs.com/xiebin1986/p/2630699.html