源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

asp.net导出Excel乱码的原因及解决方法

  • 时间:2021-05-01 14:15 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:asp.net导出Excel乱码的原因及解决方法
[u]复制代码[/u] 代码如下:
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(); }
关键:
[u]复制代码[/u] 代码如下:
Response.Charset = "UTF-8";//添加编码格式 Response.ClearContent(); Response.Clear(); Response.ContentEncoding = System.Text.Encoding.UTF8;//表格内容添加编码格式 Response.HeaderEncoding = System.Text.Encoding.UTF8;//表头添加编码格式
上边如果解决不了还可以用
[u]复制代码[/u] 代码如下:
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();
关键:
[u]复制代码[/u] 代码如下:
Response.Charset = "GB2312"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
注意观察,主要原因其实就是编码格式问题。 现在就能防止导出时候乱码问题了
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部