我之前没有在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);
答案 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)。