源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Asp.net中DataTable导出到Excel的方法介绍

  • 时间:2020-08-14 13:24 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Asp.net中DataTable导出到Excel的方法介绍
[u]复制代码[/u] 代码如下:
#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
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部