web页面导出到Excel乱码解决
时间:2011-02-25 来源:郑文亮
如何解决?
修改为下面的代码 问题就解决了
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.Write("<meta http-equiv=Content-Type; content=text/html;charset=gb2312>");
HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls");
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
HttpContext.Current.Response.ContentType = "application/excel";
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);
mygridview.RenderControl(htw);
HttpContext.Current.Response.Write(sw.ToString());
HttpContext.Current.Response.End();
仔细比较一下 就是
HttpContext.Current.Response.Write("<meta http-equiv=Content-Type; content=text/html;charset=gb2312>");
这句话起的作用 (这句话的作用是声明该网页使用gb2312进行编码)
原来是 HttpContext.Current.Response.Charset = "GB2312";
我以为有这句话 就可以 看来不行
还是 使用 <meta http-equiv=Content-Type; content=text/html;charset=gb2312> 比较保险