asp.net导出excel
在网上找的代码,有几种方法
我用的这种方法:由datagrid生成
public void ToExcel(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";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
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();
}
protected void Button3_Click(object sender, EventArgs e)
{
ToExcel(GridView1);
}
问题是,GridView1用了分页,导出的只是第一页的数据
怎样才能导出全部的数据
GridView1.AllowPaging = false; 好像不好使啊
[最优解释]
那就是你代码写的有问题,跟踪调试一下
[其他解释]
你需要遍历,请参考:
http://www.cnblogs.com/kangjin0828/archive/2010/03/17/1687884.html
[其他解释]
晕额,你都可以导出第一页数据,那为什么不能导出全部的?你导出时候把条件改成查询所有的样子不就行了?
[其他解释]
你可以不基于gv,重新绑定一下表给excel
[其他解释]
试了,导出的是空
[其他解释]
基于GridView导出的,GridView用了分页,所以这样
[其他解释]
学习!
[其他解释]
考虑下专门做一个datatable出来用于绑定如何?