程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> asp.net讀取excel中的數據並綁定在gridview

asp.net讀取excel中的數據並綁定在gridview

編輯:關於ASP.NET

     這篇文章主要介紹了asp.net讀取excel中的數據並綁定在gridview上的方法,需要的朋友可以參考下

          前台label,DropDownList,gridview控件

    aspx.cs核心代碼:
    代碼如下:
    using System.Data.OleDb;//需要引入命名
    public void Excel_Click(object sender, EventArgs e)
    {
    if (this.AttachmentFile.Value == "" && this.Label1.Text == "" && DropDownList2.SelectedValue == "")
    {
    Response.Write("<script>window.alert('請選擇要導入的文件')</script>");
    }
    if (this.AttachmentFile.Value != "" && this.DropDownList2.SelectedValue == "")
    {
    HttpFileCollection files = HttpContext.Current.Request.Files;
    HttpPostedFile postedFile = files[0];
    fileName = System.IO.Path.GetFileName(postedFile.FileName);
    if (fileName != "")
    {
    postedFile.SaveAs("localhost文件夾" + fileName);
    }
    string strConn;
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "localhost文件夾" + fileName + ";Extended Properties=Excel 8.0;";//this.AttachmentFile.Value.ToString()
    OleDbConnection conn = new OleDbConnection(strConn);
    conn.Open();
    DataTable sheetNames = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
    foreach (DataRow dr in sheetNames.Rows)
    {
    DropDownList2.Items.Add(dr[2].ToString());
    }
    this.Label1.Text = "localhost文件夾" + fileName;//this.AttachmentFile.Value.ToString();
    conn.Close();
    }
    if (this.Label1.Text.ToString() != "" && this.DropDownList2.SelectedValue != "")// && this.DropDownList1.SelectedValue.ToString() != "全部"
    {

    //綁定到gridview
    GridView1.DataSource = createDataSource(DropDownList2.SelectedValue.ToString(), this.Label1.Text.ToString());//, this.DropDownList1.SelectedValue.ToString()
    GridView1.DataBind();


    }


    }
    //以Excel為數據源獲取數據集
    private DataSet createDataSource(string select, string lable)

    {
    string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + lable + ";Extended Properties=Excel 8.0;";
    string strsql = "select 登記號碼,姓名,日期,簽到時間,簽退時間,部門 from [" + select + "] order by 部門,日期,姓名";//excel表格的字段
    OleDbConnection conn = new OleDbConnection(strCon);
    OleDbDataAdapter da = new OleDbDataAdapter(strsql, conn);
    try
    {
    conn.Open();
    DataSet ds = new DataSet();
    da.Fill(ds);
    conn.Close();
    return ds;
    }
    catch (Exception e)
    {
    Response.Write("<script>window.alert('沒有數據,或者" + e.Message + "')</script>");
    return null;
    }
    }
    以上是插入07以前版本excel

    如果07版本以後只需要做小小修改
    代碼如下:
    string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + lable + ";Extended Properties=Excel 12.0;"; 
    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved