导出Excel出错:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败

 

导出Excel程序在本机正常,上传服务器,再测试时,出错很多 。 

错误:

无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”。此操作失败的原因是对 IID 为“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 不支持此接口 (异常来自 HRESULT:0x80004002 (E_NOINTERFACE))。

异常详细信息: System.UnauthorizedAccessException: 拒绝访问。 

未授权此 ASP.NET 进程访问所请求的资源。出于安全原因,默认的 ASP.NET 进程标识为“{machinename}\ASPNET”,它只具有有限的特权。请考虑授予该 ASP.NET 进程标识访问此资源的权限


解决方案:

1:在服务器上安装office的Excel软件.

2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"

3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"

4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框

5:点击"标识"标签,选择"交互式用户"

6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"“IUSR”用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.

7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"“IUSR”用户,然后赋予"本地启动"“本地激活”权限.

8.依然是“安全”标签,在“配置权限”上选择自定义,然后点击”编辑“,在弹出的”安全性“对话框中也添加"NETWORK SERVICE"“IUSR”用户,赋予完全控制盒读取权限。 

注:在XP系统中还要添"加机器名/ASPNET"用户的上述权限。

 

posted @ 2012-09-02 16:06  泽刚  阅读(11938)  评论(2编辑  收藏  举报