Asp.net中DataTable导出到Excel的方法介绍
#region DataTable导出到Excel
///<summary>
///DataTable导出到Excel
///</summary>
///<paramname="pData">DataTable</param>
///<paramname="pFileName">导出文件名</param>
///<paramname="pHeader">导出标题以|分割</param>
publicstaticvoidDataTableExcel(System.Data.DataTablepData,stringpFileName,stringpHeader)
{
System.Web.UI.WebControls.DataGriddgExport=null;
//当前对话
System.Web.HttpContextcurContext=System.Web.HttpContext.Current;
//IO用于导出并返回excel文件
System.IO.StringWriterstrWriter=null;
System.Web.UI.HtmlTextWriterhtmlWriter=null;
if(pData!=null)
{
stringUserAgent=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=newSystem.IO.StringWriter();
htmlWriter=newSystem.Web.UI.HtmlTextWriter(strWriter);
//为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGrid
dgExport=newSystem.Web.UI.WebControls.DataGrid();
dgExport.DataSource=pData.DefaultView;
dgExport.AllowPaging=false;
dgExport.ShowHeader=false;//去掉标题
dgExport.DataBind();
string[]arrHeader=pHeader.Split("|");
stringstrHeader="<tableborder=\"1\"style=\"background-color:Gray;font-weight:bold;\"><tr>";
foreach(stringjinarrHeader)
{
strHeader+="<td>"+j.ToString()+"</td>";
}
strHeader+="</tr></table>";
//返回客户端
dgExport.RenderControl(htmlWriter);
stringstrMeta="<metahttp-equiv=\"content-type\"content=\"application/ms-excel;charset=UTF-8\"/>";
curContext.Response.Write(strMeta+strHeader+strWriter.ToString());
curContext.Response.End();
}
}
#endregion
相关文章
- [.NET控件]Telerik RadControls for ASP.NET AJAX 2008 Q1 net 2.0 Web.UI「建议收藏」
- 图片链接如何在excel里转成图片_mdf文件怎么转成Excel
- 【愚公系列】2023年01月 .NET CORE工具案例-RedLock.net实现分布式锁
- 快速完成:从Excel导入Oracle数据库(excel导入oracle数据库)
- 使用Excel快速读取MySQL数据(excel读取mysql)
- 基于NET技术的Oracle信息服务(.net用oracle)
- 快速搭建 NET 项目,用 MySQL 配置环境(.net 配置mysql)
- asp页面和Asp.net页面传中文参数UrlEncode编码以及接收解码
- asp.net动态获取Excel表名的函数代码
- 浅析ASP.NET安全性分析(加强asp.net1.1/2.0安全性)
- ASP.NET用DataSet导出到Excel的方法
- asp.net读取excel中的数据并绑定在gridview
- 三步将Asp.Net页面输出到EXCEL里
- asp.net中Table生成Excel表格的方法
- Asp.Net使用Npoi导入导出Excel的方法