ITPub博客

首页 > 应用开发 > IT综合 > excel DCOM

excel DCOM

原创 IT综合 作者:exbean 时间:2011-08-10 14:39:15 0 删除 编辑
最近在windows2003服务器上部署Excel项目,里面涉及的代码有: Excel.Application excelApplication = null; if (reuseExcelApplication) { //try to get existing application try { excelApplication = Marshal.GetActiveObject("Excel.Application") as Excel.Application; } catch (COMException) { } } if (excelApplication == null) { excelApplication = new Excel.Application(); createdExcelApplication = true; } 在我的XP上部署时,出现“检索COM 类工厂中CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005”,从网上搜了一下常见的有如下解决方案: http://blog.csdn.net/zijings8374/archive/2009/06/09/4256005.aspx 在XP下的解决办法很简单,如下步骤: 1:在服务器上安装office的Excel软件. 2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务" 3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置" 4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框 5:点击"标识"标签,选择"交互式用户" 6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"ASP.net"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限. 7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"ASP.net"用户,然后赋予"本地访问"权限. 这样,我们便配置好了相应的Excel的DCOM权限. 注意:这是在WINxp上配置的,在2003上,ASP.net用户改为NETWORK SERVICE用户。 根据上述操作了一遍,结果还是这个错误,想到之前装了office 2003查看2007的插件,在组件服务中又将“Microsoft Office Excel 2007工作簿”再配置一遍才解决问题,配置过程如下: 1、在"DCOM配置"中找到"Microsoft Office Excel 工作簿",在它上面点击右键,然后点击"属性",弹出属性对话框 2、按照上述方法再配置一遍即成功! 接着,要将我的应用程序部署在Windows2003下,本人按照上述方法怎么弄都不成功,后来google了N下,在微软官方网站上看到了出现该问题的可能原因(链接忘了,郁闷):只有当前的登录用户能够对Excel组件进行操作,因此,基于windows2003的权限问题,按照上述操作不起作用,正确的做法是 1 运行-》dcomcnfg.exe 2 在DCOM中找到Microsoft Excel应用程序,右键 -》属性-》标识-》下列用户 3 一般当前登录用户为管理员(Administrator),输入用户名密码 ,确认。 OK,你再试试! 方法很简单,找方法的过程很难![@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9236282/viewspace-1053689/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-12-25

  • 博文量
    22
  • 访问量
    147973