熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

asp.net中將DataGrid的內容導出為excel文件

2022-06-13   來源: .NET編程 

  在HTML頁面中就一個按鈕
    //////<asp:button id=Button runat=server
         Text=導出>
      ///</asp:button>
    和 一個DataGrid
    ///<asp:datagrid id=DataGrid runat=server>
      ///</asp:datagrid>
    aspxcs 文件的代碼是:
    ////public class WebForm : SystemWebUIPage
     {
      protected SystemWebUIWebControlsDataGrid DataGrid;
      protected SystemWebUIWebControlsButton Button;
      private   void   Page_Load(object   sender   SystemEventArgs   e)
      {

  DataGridDataSource=CreateDataSource();
       DataGridDataBind();
       //   在此處放置用戶代碼以初始化頁面
      }

  ICollection   CreateDataSource()
      {
       DataTable   dt   =   new   DataTable();
       DataRow   dr;
       dtColumnsAdd(new   DataColumn(身份證號碼   typeof(string)));
       dtColumnsAdd(new   DataColumn(圖書單價typeof(decimal)));
       dtColumnsAdd(new   DataColumn(購買數量typeof(Int)));
       dtColumnsAdd(new   DataColumn(總價格typeof(decimal)));
       for   (int   i   =   ;   i   <   ;   i++)
       {
        dr   =   dtNewRow();
        dr[]   =   ;
        dr[]   =      *   i   /;
        dr[]   =   i   +   ;
        dr[]   =   (decimal)dr[]   *   (Int)dr[];
        dtRowsAdd(dr);
       }
       DataView   dv   =   new   DataView(dt);
       return   dv;
      }

  private   void   Button_Click(object   sender   SystemEventArgs   e)
      {
       ResponseClear();
       ResponseBuffer=   true;
       ResponseCharset=GB;
       ResponseAppendHeader(ContentDispositionattachment;filename=FileNamexls);
       ResponseContentEncoding=SystemTextEncodingGetEncoding(GB); //設置輸出流為簡體中文
       ResponseContentType   =   application/msexcel; //設置輸出文件類型為excel文件
       thisEnableViewState   =   false;
       SystemGlobalizationCultureInfo   myCItrad   =   new   SystemGlobalizationCultureInfo(ZHCNtrue);
       SystemIOStringWriter   oStringWriter   =   new   SystemIOStringWriter(myCItrad);
       SystemWebUIHtmlTextWriter   oHtmlTextWriter   =   new   SystemWebUIHtmlTextWriter(oStringWriter);
       thisDataGridRenderControl(oHtmlTextWriter); // 在這裡設置保存那個數據源的數據
       ResponseWrite(oStringWriterToString());
       ResponseEnd();
      }
      private void DataGrid_ItemDataBound(object sender SystemWebUIWebControlsDataGridItemEventArgs e)  //這個設置顯示的格式
      {
       if(eItemItemType == ListItemTypeItem || eItemItemType == ListItemTypeAlternatingItem)
       {
        eItemCells[]AttributesAdd(stylevndmsexcelnumberformat:@);
        eItemCells[]AttributesAdd(stylevndmsexcelnumberformat:¥####);
       }
      }
      #region Web 窗體設計器生成的代碼
      override protected void OnInit(EventArgs e)
      {
       //
       // CODEGEN: 該調用是 ASPNET Web 窗體設計器所必需的
       //
       InitializeComponent();
       baseOnInit(e);
      }

  /// <summary>
      /// 設計器支持所需的方法 不要使用代碼編輯器修改
      /// 此方法的內容
      /// </summary>
      private void InitializeComponent()
      {
       thisButtonClick += new SystemEventHandler(thisButton_Click);
       thisDataGridItemDataBound += new SystemWebUIWebControlsDataGridItemEventHandler(thisDataGrid_ItemDataBound);
       thisLoad += new SystemEventHandler(thisPage_Load);
      }
      #endregion
     }


From:http://tw.wingwit.com/Article/program/net/201311/12899.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.