//传入table的html页面和文件名
public void ExportExcel(string sbExcel, string strFileName)
{
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.Buffer = true;
System.Web.HttpContext.Current.Response.Charset = "UTF-8";
System.Web.HttpContext.Current.Response.ClearHeaders();
System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + strFileName + ".xls"); //attachment
System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
System.Web.HttpContext.Current.Response.ContentType = "application/ms-excel";
System.Web.HttpContext.Current.Response.Write(" <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />");
System.Web.HttpContext.Current.Response.Write(sbExcel.ToString()); //sbExcel:用于生成Excel的HTML代码
System.Web.HttpContext.Current.Response.Flush();
System.Web.HttpContext.Current.Response.End();
}
乱码解决在于System.Web.HttpContext.Current.Response.Write(" <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />");
和 System.Web.HttpContext.Current.Response.Charset = "UTF-8";
System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
html编码和excel相应编码,相应文本编码一致。