教程集 www.jiaochengji.com
教程集 >  脚本编程  >  Asp.net  >  正文 Asp.net中DataTable导出到Excel的实现代码

Asp.net中DataTable导出到Excel的实现代码

发布时间:2016-03-19   编辑:jiaochengji.com
本文介绍下Asp.net中DataTable导出到Excel的方法与实现代码,注意看代码中的注释。有需要的朋友,不妨参考下。

代码如下:
 

复制代码 代码示例:

#region DataTable导出到Excel
/// <summary>
/// DataTable导出到Excel
/// </summary> www.jbxue.com
/// <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

代码不长,结构清晰,注释详细,大家自行研究与测试吧。

您可能感兴趣的文章:
Asp.net中DataTable导出到Excel的实现代码
c#(asp.net) excel操作实例
.net中清除EXCEL进程最有效的方法
C#读取excel数据的简单实例
C#实现导出和导入excel的代码
php导出word文档与excel表格文件
DataTable使用技巧 与简介
c#实现将Excel导入到dataGridView的代码
C#数据库操作小结
js浏览器如何导出excel或csv文件

[关闭]
~ ~