码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET GridView导出Excel

时间:2015-02-11 12:19:46      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

导出GridView时候没有用控件,直接用流。
在多个地方需要导出Excel,出现一个问题,有的地方导出的中文正常,但是有的地方导出的中文会出现乱码的情况。查找网上相关资料,可能问题发现是编码问题。我原来输出流字符集用的是Encoding.Default,将输出流字符集改成UTF-8仍然会有问题。
查找资料发现在导出的时候加上如下代码可解决问题:

Response.Write(“<meta http-equiv=Content-Type content=text/html;charset=GB2312>”);

完整代码如下:

public static void Export(Page page, GridView gv, string fileName)
{
  page.Response.Buffer = true;
  page.Response.Clear();
  page.Response.ClearContent();
  page.Response.ClearHeaders();
  page.Response.Charset = “GB2312″;
  page.Response.ContentEncoding = System.Text.Encoding.GetEncoding(“GB2312″);
  page.Response.AddHeader(“Content-Disposition”, “attachment;filename=”+fileName+”.xls”);
  page.Response.Write(“<meta http-equiv=Content-Type content=text/html;charset=GB2312>”);
  page.Response.ContentType = “application/excel”;
  System.IO.StringWriter sw = new System.IO.StringWriter();
  HtmlTextWriter htw = new HtmlTextWriter(sw);
  gv.RenderControl(htw);
  page.Response.Write(sw.ToString());
  page.Response.End();
}

 

ASP.NET GridView导出Excel

标签:

原文地址:http://www.cnblogs.com/ecosu/p/4285769.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!