天天看點

如何将Excel表格作為資料源綁定到DataGird

使用OleDb資料提供者可以對多種資料進行操作,本例說明如何操縱Excel表格。

    首先,需要建立具有嚴格結構的Excel表格ExcelData.xls,并在菜單中選擇:插入——名稱;這個名稱相當于select語句中的table名。将Excel表格放在主目錄下。

程式代碼:

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Data.OleDb;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

namespace ExcelCSTest

{

 /// <summary>

 /// WebForm1 的摘要說明。

 /// </summary>

 public class WebForm1 : System.Web.UI.Page

 {

  protected System.Web.UI.WebControls.Label Label1;

  protected System.Web.UI.WebControls.DataGrid DataGrid1;

  private void Page_Load(object sender, System.EventArgs e)

  {

   String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("../ExcelData.xls") + ";Extended Properties=Excel 8.0;";  //關鍵是這句

   try{

    OleDbConnection objConn = new OleDbConnection(sConnectionString);

    objConn.Open();

    OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM [Sheet1$]", objConn);

    OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();

    objAdapter1.SelectCommand = objCmdSelect;

    DataSet objDataset1 = new DataSet();

    objAdapter1.Fill(objDataset1, "XLData");

    DataGrid1.DataSource = objDataset1.Tables[0].DefaultView;

    DataGrid1.DataBind();

    objConn.Close();

   }catch(Exception ex){

    Label1.Text = ex.Message;

    }

  }

  #region Web 窗體設計器生成的代碼

  override protected void OnInit(EventArgs e)

   //

   // CODEGEN: 該調用是 ASP.NET Web 窗體設計器所必需的。

   InitializeComponent();

   base.OnInit(e);

  /// <summary>

  /// 設計器支援所需的方法 - 不要使用代碼編輯器修改

  /// 此方法的内容。

  /// </summary>

  private void InitializeComponent()

  {    

   this.Load += new System.EventHandler(this.Page_Load);

  #endregion

 }

}

本文轉自 august 51CTO部落格,原文連結:http://blog.51cto.com/august/6942,如需轉載請自行聯系原作者

繼續閱讀