将DataTable导出到Excel

   /// <summary>        

/// 导出Excel        

/// </summary>        

/// <param name="dtData"></param>        

public void DataTable2Excel(System.Data.DataTable dtData)        

{            

         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 (dtData != null)            

          {                

           // 设置编码和附件格式                

             curContext.Response.ContentType = "application/vnd.ms-excel";

                curContext.Response.ContentEncoding = System.Text.Encoding.UTF8;

                curContext.Response.Charset = "";

                // 导出excel文件

                strWriter = new System.IO.StringWriter();

                htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);

                // 为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGrid

                dgExport = new System.Web.UI.WebControls.DataGrid();

                dgExport.DataSource = dtData.DefaultView;

                dgExport.AllowPaging = false;

                dgExport.DataBind();

                // 返回客户端

                dgExport.RenderControl(htmlWriter);

                curContext.Response.Write(strWriter.ToString());

                curContext.Response.End();

            }

        }

原文地址:https://www.cnblogs.com/conghua/p/3446504.html