- public static void DataTableExcel(DataTable dtData, string fileName)
- {
- 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 (dtData != null)
- {
- curContext.Response.Clear();
- curContext.Response.Buffer = true;
- // 设置了类型为中文防止乱码的出现
- curContext.Response.Charset = "utf-8";//原来是curContext.Response.Charset = "GB2312";下面那个一样,都是后来改的
- System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
- // 设置输出流为简体中文
- curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
- // 定义输出文件和文件名
- curContext.Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, Encoding.UTF8).ToString() + ".xls");
- // 设置编码和附件格式
- curContext.Response.ContentType = "application/vnd.ms-excel";
- //this.EnableViewState = false;
- // 导出excel文件
- strWriter = new System.IO.StringWriter(myCItrad);
- htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);
- // 为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGrid
- dgExport = new System.Web.UI.WebControls.DataGrid();
- dgExport.DataSource = dtData.DefaultView;
- dgExport.AllowPaging = false;
- dgExport.DataBind();
- // 返回客户端
- dgExport.RenderControl(htmlWriter);
- curContext.Response.Write(strWriter.ToString());
- curContext.Response.End();
- }
- }
asp.net DataTable导出Excel
最新推荐文章于 2024-07-24 22:04:52 发布