在ASP.NET中使用EXCEL之二 读取Excel文件

来源:互联网 发布:傲慢与偏见 知乎 编辑:程序博客网 时间:2024/05/22 01:12

设置权限之后,就可以使用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[1] ;
   Excel.Worksheet mySheet = (Excel.Worksheet)myBook.Worksheets[1] ;
   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["mytable"].DefaultView;
   DataGrid1.DataBind();
  }
原创粉丝点击