网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

在ASP.NET中使用EXCEL

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12

权限设置

在ASP.NET中使用EXCEL,首先需要对COM组件的权限进行设置。如果未设置权限,则会报访问拒绝的错误。详细错误信息通常如下:

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.UnauthorizedAccessException: 拒绝访问。

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。

若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。

设置权限的方法是在Windows的运行框中输入dcomcnfg,打开Com管理。在EXCEL应用程序的安全中,分别添加ASPNET、IUSER、IWAM等用户的访问、运行和配置权限。

读取Excel文件

设置权限之后,就可以使用ASP.NET读取Excel文件了。
首先创建一个aspx文件,在页面中加入一个Button和一个DataGrid控件。
在工程的引用中添加Excel引用,并将测试的电子表格文件放到D盘中。
在CS文件中的Button1_Click事件中输入如下代码:
 private void Button1_Click(object sender, System.EventArgs e)
  {
   string excelFilePath=@"D:\Book1.xls";
   Excel.Application myExcel=new Excel.ApplicationClass( ) ;
   object oMissing = System.Reflection.Missing.Value ;
   myExcel.Application.Workbooks.Open(excelFilePath,oMissing,oMissing,oMissing,oMissing,oMissing,    oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing) ;
   Excel.Workbook myBook = myExcel.Workbooks ;
   Excel.Worksheet mySheet = (Excel.Worksheet)myBook.Worksheets ;
   System.Data.DataTable dt=new System.Data.DataTable("mytable");
   dt.Columns.Add("F1", System.Type.GetType("System.String"));
   dt.Columns.Add("F2", System.Type.GetType("System.String"));
   dt.Columns.Add("F3", System.Type.GetType("System.String"));
   dt.Columns.Add("F4", System.Type.GetType("System.String"));
   dt.Columns.Add("F5", System.Type.GetType("System.String"));
   DataSet myDs = new DataSet();
   myDs.Tables.Add(dt);
   DataRow myRow;
   myDs.Clear();
   for( int i = 2 ; i <= 4 ; i ++ ) //第一行为标题,不读取
   {
    myRow = myDs.Tables["mytable"].NewRow();
    for( int j = 1 ; j <= 5 ; j ++ )
    {
     Excel.Range r=(Excel.Range)mySheet.Cells[i,j];
     string strValue=r.Text.ToString();
     string aa=strValue;
     string columnname="F"+j.ToString();
     myRow[columnname]=strValue;
    }
    myDs.Tables["mytable"].Rows.Add(myRow);
   } 
   DataGrid1.DataSource=myDs.Tables["

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号