创建excel文件时出现以下错误
System.UnauthorizedAccessException的: 检索COM类工厂 具有CLSID的组件 {00024500-0000-0000-C000-000000000046} 由于以下错误而失败: 80070005访问被拒绝。 (例外 来自HRESULT:0x80070005 (E_ACCESSDENIED))。在 QA.CreateExcel.createDoc()in E:\ ~~ CreateExcel.cs:行 33
我正在使用此代码。
private Office.Excel.Application app =new Office.Excel.Application();
m使用fw 4.0及其web应用程序
答案 0 :(得分:2)
Office 2007/2010文件格式是包含在拉链内的XML文件,可以在服务器端创建,无需安装Office。一些在线搜索将揭示简化这样做的解决方案。
例如,Codeplex有一个项目,它使得这样做几乎像自动化Excel一样简单,但没有遇到任何问题。
答案 1 :(得分:0)
好吧,在服务器上安装Excel并授予IIS使用它的权限。这将不稳定,您的托管服务提供商甚至可能不会让您(除非您在自己的服务器上托管它)。这也会使您失去Office许可证。
Microsoft建议不要因为稳定性和可靠性问题而在服务器上安装Office。 http://support.microsoft.com/kb/257757专注于其中一些问题,并提到了一些替代方案。