码迷,mamicode.com
首页 > Web开发 > 详细

Asp.net导出Excel乱码的解决方法

时间:2014-05-07 20:29:11      阅读:328      评论:0      收藏:0      [点我收藏+]

标签:class   code   ext   get   strong   string   

通过跟踪Asp.net服务器代码,没有乱码,然而导出Excel到浏览器后,打开时出现乱码。

解决方法是添加编码格式的前缀字节码:
Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());

1
2
3
4
5
6
7
8
9
10
11
12
13
Response.Clear();
Response.AddHeader("content-disposition","attachment;filename=Test.xls");  
Response.ContentType = "application/ms-excel";
Response.ContentEncoding = System.Text.Encoding.Unicode;
Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
 
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(sw);
 
FormView1.RenderControl(hw);
 
Response.Write(sw.ToString());
Response.End();

例如Utf-8的Preamble是3个字节:239,187,191。这三个字节位于文件的头部,表示我们的文件是utf-8格式的。

Asp.net导出Excel乱码的解决方法,布布扣,bubuko.com

Asp.net导出Excel乱码的解决方法

标签:class   code   ext   get   strong   string   

原文地址:http://www.cnblogs.com/slmk/p/3714145.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!