我刚刚创建了一个简单的应用程序,并托管在IIS6.0中.在代码中,我只是实例化Excel对象.

using excel = Microsoft.Office.Interop.Excel.Application;

namespace TestHosting
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            excel excelObj=new Microsoft.Office.Interop.Excel.Application();
        }
    }
}

它给了我以下错误

 "Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied." (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).

系统配置:

Windows server 2008,enterprise edition with 64 bit.

我try 了在网上找到的许多可能的解决方案,但没有一个对我有效.

下面是我try 过一些解决方案

1) creating Desktop application under the path "C:\Windows\SysWOW64\config\systemprofile" 2)setting full permission/control for Microsfot.EXcelApplicaiton in DCOMCNFG 3)Killing all excel instances in Task Manager

请在这方面帮助我,这只是一个示例应用程序,但在我的原始应用程序主要是关于读写数据从/到EXCEL.

推荐答案

  1. 确保服务器上安装了Office runtime.
  2. 如果您使用的是Windows Server 2008,那么使用office interops是一种很长的配置,下面是一些步骤.

更好的方法是移到Open XML,或者您可以按如下方式进行配置

  • 安装MS Office Pro最新版本(我使用的是2010 Pro)
  • 创建用户ExcelUser.为WordUser分配管理员组
  • Go to Computer -> Manage
  • 使用以下选项添加用户
  • 用户选项密码永不过期
  • 不能更改密码

Com+配置

  • Go to Control Panel - > Administrator -> Component Services -> DCOM Config
  • 打开Microsoft Word 97-2003属性
  • General -> Authentication Level : None
  • Security -> Customize all 3 permissions to allow everyone
  • Identity -> This User -> Use ExcelUser /password
  • 启动Excel应用程序以确保一切正常

3.在DCOM配置中更改Microsoft Excel应用程序的安全设置.

Controlpanel --> Administrative tools-->Component Services -->computers --> myComputer -->DCOM Config --> Microsoft Excel Application.

右键单击以获取属性对话框.转到安全选项卡并自定义权限

看这里的帖子:Error while creating Excel objectExcel manipulations in WCF using COM

Asp.net相关问答推荐

包含Include的低速EF核心查询

ASP.NET多行查询文本框中的多个名称并将结果添加到单个网格视图

DataTables-如何修改来自JSON响应或其他DataTables参数的无结果(ZeroRecords)消息

JWT 和 Google 在 Razor 页面中进行身份验证和授权

Razor 页面客户端站点验证不起作用

威胁已经被清除了

测试项目中的 App.config

将 null 转换为字符串的函数

如何将 Castle Windsor 与 ASP.Net Web 表单一起使用?

用于链接字符串中的 url 的 C# 代码

.NET 核心 IdentityUser 模型中规范化邮箱和用户名的用途是什么?

使用 ASP.NET WebForms 的 jQuery DataTables 服务器端处理

显示单选按钮列表内联

如何为角色以及特定用户使用自定义授权属性?

实体框架:如何解决外键约束可能导致循环或多个级联路径?

错误请求 - 无效的主机名 ASP.net Visual Studio 2015

asp.net 网站上的第一页加载缓慢

如何使用restsharp下载文件

有没有办法在没有异常类的情况下抛出自定义异常

ASP.NET 5 (vNext) - 获取配置设置