Asp导出Excel乱码怎么办
学习啦在线学习网 在将asp导入excel是要是出现了乱码可是很烦人的事情,那该怎么解决呢。
方法一:
protected void Excel_Click(object sender, EventArgs e)
{
学习啦在线学习网 Response.Charset = "UTF-8";
学习啦在线学习网 Response.ClearContent();
学习啦在线学习网 Response.Clear();
Response.ContentEncoding = System.Text.Encoding.UTF8;
学习啦在线学习网 Response.HeaderEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("content-disposition", "attachment; filename=MyExpress.xls");
Response.ContentType = "application/excel";
System.IO.StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
学习啦在线学习网 // turn off paging
学习啦在线学习网 GridView1.AllowPaging = false;
dataBind();
GridView1.RenderControl(htw);
Response.Write(sw.ToString());
学习啦在线学习网 Response.End();
学习啦在线学习网 // turn the paging on again
学习啦在线学习网 GridView1.AllowPaging = true;
学习啦在线学习网 dataBind();
}
Response.Charset = "UTF-8";//添加编码格式
学习啦在线学习网 Response.ClearContent();
Response.Clear();
Response.ContentEncoding = System.Text.Encoding.UTF8;//表格内容添加编码格式
Response.HeaderEncoding = System.Text.Encoding.UTF8;//表头添加编码格式
方法二:
学习啦在线学习网 Response.ClearContent();
Response.Clear();
学习啦在线学习网 Response.AddHeader("content-disposition", "attachment; filename=sumlate.xls");
学习啦在线学习网 Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = "application/excel";
System.IO.StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
if (GridView2.Rows.Count > 0)
{
GridView2.RenderControl(htw);
}
else
{
GridView1.RenderControl(htw);
}
Response.Write(sw.ToString());
Response.End();
学习啦在线学习网 Response.Charset = "GB2312";
学习啦在线学习网 Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");