Asp.net中DataTable导出到Excel的方法介绍_asp.net教程-查字典教程网
Asp.net中DataTable导出到Excel的方法介绍
Asp.net中DataTable导出到Excel的方法介绍
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:#regionDataTable导出到Excel//////DataTable导出到Excel//////DataTabl...

复制代码 代码如下:

#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"><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

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新asp.net教程学习
    热门asp.net教程学习
    编程开发子分类