asp.net将DataGrid控件中的数据导出Execl提供下

2018-12-16  本文已影响0人  22334

将开发过程常用的一些代码段备份一次,下面代码是关于asp.net将DataGrid控件中的数据导出Execl提供下载的代码,希望能对小伙伴们也有好处。

System.Web.UI.Control ctl=this.DataGrid1;

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();

如果你的DataGrid用了分页,它导出的是当前页的信息,也就是它导出的是DataGrid中显示的信息。而不是你select语句的全部信息。为方便使用,写成方法如下:

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);

上一篇 下一篇

猜你喜欢

热点阅读