天天看点

如何将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,如需转载请自行联系原作者

继续阅读