Asp.net中DataTable導出到Excel的方法介紹_.Net教程

      編輯Tag賺U幣

      推薦:asp.net中倒計時自動跳轉頁面的實現方法(使用javascript)
      本篇文章介紹了,asp.net中倒計時自動跳轉頁面的實現方法(使用javascript)。需要的朋友參考下

      復制代碼 代碼如下:www.wf0088.com

      #region DataTable導出到Excel
      /// <summary>
      /// DataTable導出到Excel
      /// </summary>
      /// <param name="pData">DataTable</param>
      /// <param name="pFileName">導出文件名</param>
      /// <param name="pHeader">導出標題以|分割</param>
      public static void DataTableExcel(System.Data.DataTable pData, string pFileName, string pHeader)
      {
      System.Web.UI.WebControls.DataGrid dgExport = null;
      // 當前對話
      System.Web.HttpContext curContext = System.Web.HttpContext.Current;
      // IO用于導出并返回excel文件
      System.IO.StringWriter strWriter = null;
      System.Web.UI.HtmlTextWriter htmlWriter = null;
      if (pData != null)
      {
      string UserAgent = curContext.Request.ServerVariables["http_user_agent"].ToLower();
      if (UserAgent.IndexOf("firefox") == -1)//火狐瀏覽器
      pFileName = HttpUtility.UrlEncode(pFileName, System.Text.Encoding.UTF8);

      curContext.Response.AddHeader("Content-Disposition", "attachment; filename=" + pFileName + ".xls");
      curContext.Response.ContentType = "application/vnd.ms-excel";
      strWriter = new System.IO.StringWriter();
      htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);

      // 為了解決dgData中可能進行了分頁的情況,需要重新定義一個無分頁的DataGrid
      dgExport = new System.Web.UI.WebControls.DataGrid();
      dgExport.DataSource = pData.DefaultView;
      dgExport.AllowPaging = false;
      dgExport.ShowHeader = false;//去掉標題
      dgExport.DataBind();

      string[] arrHeader = pHeader.Split('|');
      string strHeader = "<table border=\"1\" style=\"background-color:Gray;font-weight:bold;\"><tr>";
      foreach (string j in arrHeader)
      {
      strHeader += "<td>" + j.ToString() + "</td>";
      }
      strHeader += "</tr></table>";
      // 返回客戶端
      dgExport.RenderControl(htmlWriter);
      string strMeta = "<meta http-equiv=\"content-type\" content=\"application/ms-excel; charset=UTF-8\"/>";
      curContext.Response.Write(strMeta + strHeader + strWriter.ToString());
      curContext.Response.End();
      }
      }
      #endregion

      分享:.NET 線程基礎的使用介紹
      本篇文章介紹了,.NET 線程基礎的使用說明,需要的朋友參考下

      來源:模板無憂//所屬分類:.Net教程/更新時間:2013-05-04
      相關.Net教程