引言:
前几天 在做web项目的时候 需要导出页面上的数据 到Excel里面
但有的时候出现乱码(有de时候不出现 很奇怪)
原来的代码是这样的:
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader("content-disposition",
"attachment;filename=FileName.xls");
HttpContext.Current.Response.Charset = "GB2312";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//.Unicode;//.UTF8;//
HttpContext.Current.Response.ContentType = "xls"; //"application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
mygridview.RenderControl(htw);
HttpContext.Current.Response.Write(sw.ToString());
HttpContext.Current.Response.End();

如何解决?

修改为下面的代码 问题就解决了

HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.Write("");
HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls");
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
HttpContext.Current.Response.ContentType = "application/excel";
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);
mygridview.RenderControl(htw);
HttpContext.Current.Response.Write(sw.ToString());
HttpContext.Current.Response.End();

仔细比较一下 就是

HttpContext.Current.Response.Write("");
这句话起的作用 (这句话的作用是声明该网页使用gb2312进行编码)
原来是 HttpContext.Current.Response.Charset = "GB2312";
我以为有这句话 就可以 看来不行
还是 使用 比较保险

最新文章

  1. 洛谷P1613 跑路
  2. Left join 中On和Where的作用范围
  3. c++ 怎样获取系统时间
  4. cvThreshold
  5. php处理字符串常用函数
  6. [Angular 2] ng-model and ng-for with Select and Option elements
  7. bayes
  8. MySQL 二进制日志(Binary Log)
  9. Android解析中国天气网的Json数据
  10. fs读取某个json文件的数据
  11. 4、公司经营的业务来源 - CEO之公司管理经验谈
  12. Date 类 02
  13. python之psutil模块(获取系统性能数据)
  14. 花十分钟,让你变成AI产品经理
  15. python开发day02
  16. js css样式操作代码(批量操作)
  17. 【分布式系列之ActiveMq】ActiveMq入门示例
  18. 20145312《网络对抗》MSF基础
  19. MVVM模式的模式简介
  20. XP远程连接Win10,提示【远程计算机需要网络级别身份验证,而您的计算机不支持该验证】

热门文章

  1. sqlserver ,镜像数据库,CDC,实时监控数据变化
  2. MapReduce-shuffle过程详解
  3. 电子商务的几种模式,b2b,c2c等
  4. json01-json简介和语法
  5. Python快速学习-高级特性
  6. Spring Boot入门——多文件上传大小超限问题解决
  7. [eBook]Inside Microsoft Dynamics AX 2012 R3发布
  8. 将一个jar包放到linux下定时执行
  9. hdu 5241 Friends(找规律?)
  10. 《Effective C++》——条款17:以独立语句将newed对象置入智能指针