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

 更新时间:2014年02月19日 15:41:04   转载 作者:  
asp.net导出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");

注意观察,主要原因其实就是编码格式问题。

现在就能防止导出时候乱码问题了

相关文章

  • ASP.NET中 script runat server 的用法

    ASP.NET中 script runat server 的用法

    这篇文章主要介绍了ASP.NET中<script runat="server">的用法,以一个较为简单的例子分析了ASP.NET中<script runat="server">的特点及具体用法,对于asp.net初学者来说具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • 几个 ASP.NET 小技巧

    几个 ASP.NET 小技巧

    JavaScript 调用服务器端
    2008-09-09
  • .NET Core 2.2新增的部分功能使用尝鲜指南

    .NET Core 2.2新增的部分功能使用尝鲜指南

    这篇文章主要给大家介绍了关于.NET Core 2.2新增的部分功能使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-12-12
  • c#后台修改前台DOM的css属性示例代码

    c#后台修改前台DOM的css属性示例代码

    本文为大家详细介绍下如何使用c#修改前台DOM的css属性,具体示例如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助
    2013-07-07
  • 使用FlashPaper在线转换.doc为.swf

    使用FlashPaper在线转换.doc为.swf

    Flashpaper的使用相信大多数人都知道,这里的Demo是用于在线转换 .doc文件转换为 .swf的flash文件。
    2011-02-02
  • 为ASP.NET MVC及WebApi添加路由优先级

    为ASP.NET MVC及WebApi添加路由优先级

    这是一个对Asp.Net Mvc的一个很小的功能拓展,小项目可能不太需要这个功能,但有时候项目大了注册的路由不生效时你应该要想到有可能是因为路由顺序的原因,这时这个路由优先级的功能有可能就会给你带来便利。
    2015-10-10
  • 浅谈ASP.NET Core 中jwt授权认证的流程原理

    浅谈ASP.NET Core 中jwt授权认证的流程原理

    这篇文章主要介绍了浅谈ASP.NET Core 中jwt授权认证的流程原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • asp.net+ajax+sqlserver自动补全功能实现解析

    asp.net+ajax+sqlserver自动补全功能实现解析

    这篇文章主要介绍了asp.net + ajax + sqlserver 自动补全功能,需要的朋友可以参考下
    2014-03-03
  • 浅谈.NET中加密和解密的实现方法分享

    浅谈.NET中加密和解密的实现方法分享

    这篇文章介绍了.NET中加密和解密的实现方法,有需要的朋友可以参考一下
    2013-11-11
  • mvc form表单提交的几种形式整理总结

    mvc form表单提交的几种形式整理总结

    这篇文章主要介绍了mvc form表单提交的几种形式整理总结的相关资料,这里提供了几种方法及实例代码,需要的朋友可以参考下
    2016-12-12

最新评论