DATATABLE、GRIDVIEW內容导出到EXCEL表中

时间:2021-05-04 09:31:18

几个实例,其中DATATABLE导出时也是先绑定GRIDVIEW再从其中导出。
例一:
   DataTable dt = db.GetData(strTMP);

       HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
       HttpContext.Current.Response.Charset ="UTF-8";   
       HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;
       HttpContext.Current.Response.ContentType ="application/ms-excel";
       System.IO.StringWriter  tw = new System.IO.StringWriter() ;
       System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);

       GridView GV = new GridView();//一个无分页的GridView
       GV.DataSource = dt;
       GV.AllowPaging = false;
       GV.DataBind();
       GV.RenderControl(hw);
       HttpContext.Current.Response.Write(tw.ToString());
       HttpContext.Current.Response.End();

 

例二:
   

   HttpContext curContext = System.Web.HttpContext.Current;
        System.IO.StringWriter strWriter = new StringWriter();
        System.Web.UI.HtmlTextWriter htmlWriter = new HtmlTextWriter(strWriter);
        curContext.Response.ContentType = "application/vnd.ms-excel";
        curContext.Response.ContentEncoding = Encoding.GetEncoding("GB2312");
        curContext.Response.Charset = "GB2312";

        GridView GV = new GridView();//一个无分页的GridView
        GV.DataSource = DT;//绑定DATATABLE
        GV.AllowPaging = false;
        GV.DataBind();
        GV.RenderControl(htmlWriter);
        curContext.Response.Write(strWriter.ToString());
        curContext.Response.End();