zoukankan      html  css  js  c++  java
  • 通过DataTable导出Excel

    //dtData是要导出为Excel的DataTable,FileName是要导出的Excel文件名(不加.xls)
            private void DataTable2Excel(System.Data.DataTable dtData, String FileName)
            {
                System.Web.UI.WebControls.GridView dgExport = null;
                //当前对话
                System.Web.HttpContext curContext = System.Web.HttpContext.Current;
                //IO用于导出并返回excel文件
                System.IO.StringWriter strWriter = null;
                System.Web.UI.HtmlTextWriter htmlWriter = null;

                if (dtData != null)
                {
                    //设置编码和附件格式
                    //System.Web.HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8)作用是方式中文文件名乱码
                    curContext.Response.AddHeader("content-disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8) + ".xls");
                    curContext.Response.ContentType = "application nd.ms-excel";
                    curContext.Response.ContentEncoding = System.Text.Encoding.UTF8;
                    curContext.Response.Charset = "GB2312";

                    //导出Excel文件
                    strWriter = new System.IO.StringWriter();
                    htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);

                    //为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的GridView
                    dgExport = new System.Web.UI.WebControls.GridView();
                    dgExport.DataSource = dtData.DefaultView;
                    dgExport.AllowPaging = false;
                    dgExport.DataBind();

                    //下载到客户端
                    dgExport.RenderControl(htmlWriter);
                    curContext.Response.Write(strWriter.ToString());
                    curContext.Response.End();
                }
            }

  • 相关阅读:
    使用尾递归对斐波那契优化?
    Ajax是什么?包含什么技术?有什么作用?
    Ajax的乱码解决问题?
    Ajax的核心的对象是什么?
    为什么Java中不支持多重继承?
    vue-router的原理,例如hashhistory和History interface?
    JSP是什么?有什么特点?
    forward 和redirect的区别?
    Listener是什么?有什么作用?
    请说一说Servlet的生命周期?
  • 原文地址:https://www.cnblogs.com/zhuawang/p/748994.html
Copyright © 2011-2022 走看看