Asp.net中DataTable导出到Excel的方法-创新互联

这篇文章主要介绍“Asp.net中DataTable导出到Excel的方法”,在日常操作中,相信很多人在Asp.net中DataTable导出到Excel的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Asp.net中DataTable导出到Excel的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联公司10多年成都企业网站定制服务;为您提供网站建设,网站制作,网页设计及高端网站定制服务,成都企业网站定制及推广,对垃圾桶等多个领域拥有多年建站经验的网站建设公司。

复制代码 代码如下:


#region  DataTable导出到Excel
        ///


        /// DataTable导出到Excel
        ///

        /// DataTable
        /// 导出文件名
        /// 导出标题以|分割
        public static void DataTableExcel(System.Data.DataTable pData, string pFileName, string pHeader)
        {
            System.Web.UI.WebControls.DataGrid dgExport = null;
            // 当前对话
            System.Web.HttpContext curContext = System.Web.HttpContext.Current;
            // IO用于导出并返回excel文件
            System.IO.StringWriter strWriter = null;
            System.Web.UI.HtmlTextWriter htmlWriter = null;
            if (pData != null)
            {
                string UserAgent = curContext.Request.ServerVariables["http_user_agent"].ToLower();
                if (UserAgent.IndexOf("firefox") == -1)//火狐浏览器
                    pFileName = HttpUtility.UrlEncode(pFileName, System.Text.Encoding.UTF8);

                curContext.Response.AddHeader("Content-Disposition", "attachment; filename=" + pFileName + ".xls");
                curContext.Response.ContentType = "application/vnd.ms-excel";
                strWriter = new System.IO.StringWriter();
                htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);

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

                string[] arrHeader = pHeader.Split('|');
                string strHeader = "

";
                foreach (string j in arrHeader)
                {
                    strHeader += "";
                }
                strHeader += "
" + j.ToString() + "
";
                // 返回客户端
                dgExport.RenderControl(htmlWriter);
                string strMeta = "";
                curContext.Response.Write(strMeta + strHeader + strWriter.ToString());
                curContext.Response.End();
            }
        }
        #endregion


到此,关于“Asp.net中DataTable导出到Excel的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


新闻名称:Asp.net中DataTable导出到Excel的方法-创新互联
文章地址:http://pwwzsj.com/article/dgjhio.html