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

  • 相关阅读:
    error: declaration of 'cv::Mat R ' shadows a parameter
    Java网络编程(二)
    排序算法(二)
    Java网络编程(一)
    排序算法(一)
    Python文件访问模式
    Python文件与异常
    递归
    SQL命令的六个主要类别
    iOS-生成Bundle包-引入bundle-使用bundle
  • 原文地址:https://www.cnblogs.com/johnblogs/p/6112892.html
Copyright © 2011-2022 走看看