將資料庫資料讀出到DataGrid然後儲存到excel中

來源:互聯網
上載者:User
datagrid|excel|資料|資料庫  

我先給出部份程式的解釋,然後給出整個原始碼。

   DataSet objDataset = new DataSet();
   objConn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
   objConn.Open();//在web.config中的設定檔。
   SqlDataAdapter objAdapter = new SqlDataAdapter("Select top 10 * from customers where   country='USA'",objConn);//這裡要改成你的資料庫相應的表的選擇句語
   objAdapter.Fill(objDataset); 
   DataView oView = new DataView(objDataset.Tables[0]);
   dgExcel.DataSource = oView;
   dgExcel.DataBind();
   objConn.Close();
   objConn.Dispose();
   objConn = null;

上面部分是從資料庫中讀出資料顯示到DataGrid中去。

    Response.ContentType = "application/vnd.ms-excel";    
    Response.Charset = "";
   //關閉 ViewState
    EnableViewState = false;
    System.IO.StringWriter tw = new System.IO.StringWriter();//將資訊寫入字串
    System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);//在WEB表單頁上寫出一系列連續的HTML特定字元和文本。
    //此類提供ASP.NET伺服器控制項在將HTML內容呈現給用戶端時所使用的格式化功能

//參見http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfsystemwebuihtmltextwriterclasstopic.asp
    //擷取control的HTML
    dgExcel.RenderControl(hw);//將DATAGRID中的內容輸出到HtmlTextWriter對象中
    // 把HTML寫回瀏覽器
    Response.Write(tw.ToString());
    Response.End();

全部代碼如下:

 using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Configuration;
namespace CommonFunction
{
 /// <summary>
 /// excel 的摘要說明。
 /// </summary>
 public class excel : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.Button btnGetExcel;
  protected System.Web.UI.WebControls.DataGrid dgExcel;
  protected System.Data.SqlClient.SqlConnection objConn;
 
  private void Page_Load(object sender, System.EventArgs e)
  {

if(!IsPostBack)

{
   DataSet objDataset = new DataSet();
   objConn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
   objConn.Open();
   SqlDataAdapter objAdapter = new SqlDataAdapter("Select top 10 * from customers where country='USA'",objConn);
   objAdapter.Fill(objDataset); 
   DataView oView = new DataView(objDataset.Tables[0]);
   dgExcel.DataSource = oView;
   dgExcel.DataBind();
   objConn.Close();
   objConn.Dispose();
   objConn = null;

}

  }

  #region Web Form Designer generated code
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN:該調用是 ASP.NET Web Form設計器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 設計器支援所需的方法 - 不要使用代碼編輯器修改
  /// 此方法的內容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.btnGetExcel.Click += new System.EventHandler(this.btnGetExcel_Click);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  private void btnGetExcel_Click(object sender, System.EventArgs e)
  {
      Response.ContentType = "application/vnd.ms-excel";
    
    Response.Charset = "";

    //關閉 ViewState
    EnableViewState = false;
    System.IO.StringWriter tw = new System.IO.StringWriter();//將資訊寫入字串
    System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);//在WEB表單頁上寫出一系列連續的HTML特定字元和文本。
    //此類提供ASP.NET伺服器控制項在將HTML內容呈現給用戶端時所使用的格式化功能
&nb



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

11.11 Big Sale for Cloud

Get Unbeatable Offers with up to 90% Off,Oct.24-Nov.13 (UTC+8)

Get It Now >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。