日期:2014-05-18  浏览次数:20426 次

GridView导出Excel时候,将Gridview中所有数据导出
我在做GridView导出Excel的时候,怎么不能导出所有数据呢?
C# code

       // GridView1.AllowPaging = false;//取消分页,使GridView显示全部数据.
       // GridView1.DataBind();//重新绑定.如果不注释这两行,导不出数据,如果注释了这两行,连分页都导出来了,
       //只能导出一个页面的数据
        Response.Clear();
        Response.Charset = "GB2312";
        Response.AppendHeader("Content-Disposition", "attachment;filename= " + Server.UrlEncode("导出.xls"));
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
        Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件.
        this.EnableViewState = false;
        System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
        System.IO.StringWriter stringWrite = new System.IO.StringWriter(myCItrad);
        System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
        GridView1.RenderControl(htmlWrite);
        Response.Write(stringWrite.ToString());
        Response.End();
        GridView1.AllowPaging = true;
        GridView1.DataBind();//重新绑定.



------解决方案--------------------
你导出了多少。 少什么,都没有说
------解决方案--------------------
你还可以通过sql语句直接导出。
------解决方案--------------------
http://topic.csdn.net/u/20120314/22/719153e6-cd5e-4b44-bd48-37881fe5de7c.html



去我你看看!!!
------解决方案--------------------
你用存储过程也一样的。
------解决方案--------------------
这么个问题啊。 呵呵。 

你要用2个gridveiw , 一个是显示的。 一个是用来导出。 显示的有分页。 导出的没有分页。 导出的只有点导出按钮才会加载数据然后导出(当然你也直接把2个gridveiw都绑定了)。 这样就OK了, 我就是这么做的。 因为我导出的时候也把分页带上了, 我就想了个这办法。然后以刷新。
------解决方案--------------------
问题解决了,给分吧。呵呵
------解决方案--------------------
你是导出所有数据,,而不是导出GridView显示的数据,,先要弄明白。。。
------解决方案--------------------
GridView不会保留数据源的吧 DataBind后 ViewState只保留当页数据 每次点分页码 都会到后台重新取数据
用自带分页效率差