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();

  • 相关阅读:
    c++数据类型
    c++注释
    c++基本语法
    c++环境配置
    c++简介
    9 HTTP和HTTPS
    12 RESTful架构(SOAP,RPC)
    剑指10二进制中1的个数
    第2章 新手必须掌握的Linux命令
    11个炫酷的Linux终端命令大全
  • 原文地址:https://www.cnblogs.com/johnblogs/p/6112892.html
Copyright © 2011-2022 走看看