zoukankan      html  css  js  c++  java
  • Asp.NET中把DataTable导出为Excel ,中文有乱码现象解决办法

          //DataTable为要导出的数据表

           DataGrid dg = new DataGrid();
                    dg.DataSource = DataTable;
                    dg.DataBind();

                    //如果文件名称有中文,指定编码
                    string fileName = HttpUtility.UrlEncode("JobHistoryList", Encoding.UTF8).ToString();


                    //设置编码格式
                    HttpContext.Current.Response.Clear();
                    HttpContext.Current.Response.Charset = "UTF-8";// "UTF-8"或者"GB2312"
                    HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";//text/csv
                    HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
                    HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName + ".xls");
                    //导出excel
                    System.IO.StringWriter oSW = new System.IO.StringWriter();
                    HtmlTextWriter oHW = new HtmlTextWriter(oSW);
                    dg.RenderControl(oHW);

                  

          //输出时加上"<meta http-equiv="content-type" content="application/ms-excel; charset=UTF-8"/>"解决编码问题

          //返回浏览器,
                    HttpContext.Current.Response.Write("<meta http-equiv="content-type" content="application/ms-excel; charset=UTF-8"/>" + oSW.ToString());
                    HttpContext.Current.Response.End();

  • 相关阅读:
    memcached源码剖析5:并发模型
    memcached源码剖析4:并发模型
    深入剖析php执行原理(4):函数的调用
    深入剖析php执行原理(2):函数的编译
    剖析php脚本的超时机制
    strerror的坑
    深入理解php中的ini配置(2)
    深入理解php中的ini配置(1)
    一个“日期”字符串进行比较的case
    用valgrind检测php扩展内存泄露
  • 原文地址:https://www.cnblogs.com/johnblogs/p/6112892.html
Copyright © 2011-2022 走看看