由于在导出数据的时候,数据绑定控件一般都采用分页的方式,这样我们在导入到EXCEL的时候可以采用以下几种方法:
一 、采用SQLSERVER中的自带DTS的导出,这样实现的时候如果数据量比较大,就会产生了导出超时的现象;
二、新增隐含数据绑定控件,采用不带分页,这样导出,但也是增加了服务器端的负担;
三、采用如下实现的代码:
public void DGToExcel(System.Web.UI.Control ctl)
{
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";
ctl.Page.EnableViewState =false;
System.IO.StringWriter tw = new System.IO.StringWriter() ;
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}
然后调用 DGToExcel(datagrid1);方法就可以实现对分页数据的全部导出了。