Asp.net导出Excel乱码的解决方法_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > Asp.net导出Excel乱码的解决方法

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

 2014/5/7 17:52:17  slmk  博客园  我要评论(0)
  • 摘要:通过跟踪Asp.net服务器代码,没有乱码,然而导出Excel到浏览器后,打开时出现乱码。解决方法是添加编码格式的前缀字节码:Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());Response.Clear();Response.AddHeader("content-disposition","attachment;filename=Test.xls");Response
  • 标签:.net ASP.NET 方法 解决方法 解决 excel net 导出excel

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

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

class="brush: csharp; title: ; notranslate">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格式的。

发表评论
用户名: 匿名