COM类工厂80040154服务器错误

时间:2011-02-22 23:43:22

标签: c# asp.net

我之前没有在localhost上收到此错误,但现在我将ASP.NET C#Web应用程序上传到服务器时就出现了错误。我一直在寻找如何解决这个问题的答案,但似乎无法摆脱它。我有一个Microsoft.Office.Interop.Excel DLL,我试图用它将数据从数据集导出到Excel。客户服务部门告诉我,我注册的域名是托管在32位服务器上的。请帮忙!

由于以下错误,检索CLSID为{00024500-0000-0000-C000-000000000046}的组件的COM类工厂失败:80040154。

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Runtime.InteropServices.COMException:由于以下错误,检索CLSID为{00024500-0000-0000-C000-000000000046}的组件的COM类工厂失败:80040154。

来源错误:

Line 499:            object misValue = System.Reflection.Missing.Value;
Line 500:
Line 501:            xlApp = new Excel.ApplicationClass();
Line 502:            xlWorkBook = xlApp.Workbooks.Add(misValue);
Line 503:            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

3 个答案:

答案 0 :(得分:1)

看看http://support.microsoft.com/kb/897646
文章编号:897646 - 最后修改:2006年1月5日 - 修订:1.10
Office 2003更新:可再发行的主互操作程序集可供下载
步骤1.-安装Office 2003
步骤2.-安装SP Office
步骤3.-安装O2003PIA组件

答案 1 :(得分:0)

有一个人一步一步地描述如何解决你的问题here

答案 2 :(得分:0)

如果其他解决方案不起作用,请尝试在

之后将以下内容添加到web.config中
<identity impersonate="true" userName="******" password="*******"/>

* 替换为可以访问Excel的有效Windows用户名和密码。 确保您以模拟身份登录,以便验证它是否可以访问Excel(Office 2010往往希望为我注意到的每个用户重新激活Office)。