当导数据到Excel 中时有时会出现乱码
原来代码
private static void WriteToExcelFromDataGrid(DataGrid dg, string fileName)
{
//StringWriter tw = new StringWriter(new CultureInfo( "zh-CHS", false));
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
dg.RenderControl(hw);
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.Clear();
response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");
response.ContentType ="application/vnd.ms-excel";
response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
response.Charset = "gb2312";
response.Write(tw.ToString());
response.End();
}
正确
response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-7");
原因 utf-8不支持中文