Asp.Net中Excel操作权限的问题

近日在打开原来写的一个网页程序运行时,出现了Excel操作权限的问题,具体的说就是在代码中调用下面这段与Excel操作有关的语句时,

Application curExcelApp = new ApplicationClass();

提示权限不足,具体的提示内容如下:

检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: system.UnauthorizedAccessException: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。 ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。 源错误:


行 533:    //创建Excel信息    

行 534:    object missing = system.Reflection.Missing.Value;

行 535:    Application curExcelApp = new ApplicationClass();

行 536:    curExcelApp.Application.DisplayAlerts = false;

行 537:    Workbook curWorkBook = curExcelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);

原来碰到过这种情况,知道是由于Excel的DCom组件权限不足所引起的,所以按照原来的步骤进行设置,如下所示:

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

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

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

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

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

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

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

时间: 2024-11-01 17:41:36

Asp.Net中Excel操作权限的问题的相关文章

asp.net中EXCEL数据导入到数据库的方法_实用技巧

本文实例讲述了asp.net中EXCEL数据导入到数据库的方法.分享给大家供大家参考.具体分析如下: excel是办公中非常常用的一个办公表格了,但我们在开发中通常会需要直接把excel数据快速导入到数据库中了,这里整理了一个asp.net中EXCEL数据导入到数据库的例子供各位参考学习. 注意:EXCEL中的第一行不能导入.下面是源码:IntoExcel.aspx: 复制代码 代码如下: <%@ Page  AutoEventWireup="true" CodeFile=&qu

ASP.NET中的程序权限问题

谈到ASP.NET程序的权限,一般可分为两种: 1) 账户的权限. 2) 代码的权限. 账户的权限可以限制运行在这个账户下的所有ASP.NET程序能进行什么样的操作,而代码的权限是ASP.NET程序里独有的,它规定了ASP.NET程序能够访问什么样的资源,比如数据库,文件等等.他们对ASP.NET程序是共同影响的,简单地说,ASP.NET程序表现出来的是他们共同作用的交集. 在IIS 5中,Application Pool的默认配置账户是ASPNET.在IIS 6/7中有点不同,ASPNET账户

ASP.NET中数据库操作初步_自学过程

一.定义OleDbCommand类型变量:MyCommand 要对数据库进行增加.删除.修改的操作我们还需要根据MyConnectio的类型定义一个OleDbCommand或者SqlCommand对象(请注意如果MyConnection是OleDbConnection类型,那么只能用OleDbCommand:如果MyConnection是SqlConnection类型,那么那么只能用SqlCommand.这里假设MyConnection是OleDbConnection类). 方法一 你可以象拖放

asp.net中EXCEL数据导入到数据库程序代码

注意:EXCEL中的第一行不能导入. 下面是源码:IntoExcel.aspx:  代码如下 复制代码 <%@ Page  AutoEventWireup="true" CodeFile="IntoExcel.aspx.cs" Inherits="study_IntoExcel" %>    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu

解决 ASP.NET 中目录访问权限的问题

asp.net|访问|解决|问题 症状:从 ASP.NET 应用程序,访问远程增强安全性的资源时可能会收到以下错误信息      登录失败:未知用户名或错误密码. 解决办法:      1   在 Web 服务器上修改 ASPNET 帐户的密码为 password .      2   在远程文件服务器上,修改 ASPNET 帐户(如果没有该帐户则创建之)的密码为 password .      3   在远程文件服务器上,为 ASPNET 帐户设置相应目录的访问权限.      4   修改

解决ASP.NET中目录访问权限的问题

症状:从 ASP.NET 应用程序,访问远程增强安全性的资源时可能会收到以下错误信息 登录失败:未知用户名或错误密码. 解决办法: 1 在 Web 服务器上修改 ASPNET 帐户的密码为 password . 2 在远程文件服务器上,修改 ASPNET 帐户(如果没有该帐户则创建之)的密码为 password . 3 在远程文件服务器上,为 ASPNET 帐户设置相应目录的访问权限. 4 修改 Web.config 文件,在 配置节中添加: <identity impersonate="

解决 ASP.NET中目录访问权限的问题_实用技巧

症状:从 ASP.NET 应用程序,访问远程增强安全性的资源时可能会收到以下错误信息 登录失败:未知用户名或错误密码. 解决办法:      1   在 Web 服务器上修改 ASPNET 帐户的密码为 password .      2   在远程文件服务器上,修改 ASPNET 帐户(如果没有该帐户则创建之)的密码为 password .      3   在远程文件服务器上,为 ASPNET 帐户设置相应目录的访问权限.      4   修改 Web.config 文件,在 <syste

asp.net中 Excel的导入到数据库怎么写,求

问题描述 ABidip1192.168.1.12192.168.1.2 解决方案 解决方案二:请教各位高手啊.......解决方案三:先把excel数据导入到dataset中,然后重dataset中把值再插入数据库.将excel中的数据导入到dataset方法如下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSyst

asp.net中Xml操作辅助类XmlUtil

Xml操作辅助类主要包括两大操作,Xml的序列化与反序列化.代码如下:  代码如下 复制代码 namespace Tmac.Utilities {     /// <summary>     /// Xml操作类     /// </summary>     public class XmlUtil     {         /// <summary>         /// 序列化对象为xml(或字节流)         /// </summary>