问题描述
我用的工具:VS2008;SqlServer2005;C#我的问题是:DataGridView分页后导出Excel的时候只能导出本页的数据,有什么办法能导出所有页的数据。我的数据源是List。我想在保留分页的前提下能将所有数据导出急求,谢谢各位高手!!!
解决方案
解决方案二:
那你就从dataset中导出
解决方案三:
从list直接导。
解决方案四:
引用2楼sunwl_191的回复:
从list直接导。
~~~~~~~
解决方案五:
#1,#2都可以呀
解决方案六:
该回复于2011-11-25 08:59:21被版主删除
解决方案七:
导出功能:调用另外一个读取数据的函数,这个函数里读取全部的数据
解决方案八:
///<summary>///仅将GridView数据导出(不导出里面的控件之类的)///</summary>///<paramname="dt"></param>///<paramname="page"></param>///<paramname="FileName"></param>publicToExcel(DataTabledt,Pagepage,stringFileName){HttpResponseresp;resp=page.Response;resp.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");resp.AppendHeader("Content-Disposition","attachment;filename="+FileName);stringcolHeaders="",ls_item="";inti=0;//定义表对象与行对像,同时用DataSet对其值进行初始化DataRow[]myRow=dt.Select("");//取得数据表各列标题,各标题之间以t分割,最后一个列标题后加回车符for(i=0;i<dt.Columns.Count-1;i++)colHeaders+=dt.Columns[i].Caption.ToString()+"t";colHeaders+=dt.Columns[i].Caption.ToString()+"n";//向HTTP输出流中写入取得的数据信息resp.Write(colHeaders);//逐行处理数据foreach(DataRowrowinmyRow){//在当前行中,逐列获得数据,数据之间以t分割,结束时加回车符nfor(i=0;i<dt.Columns.Count-1;i++)ls_item+=row[i].ToString()+"t";ls_item+=row[i].ToString()+"n";//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据resp.Write(ls_item);ls_item="";}//写缓冲区中的数据到HTTP头文件中resp.End();}}
解决方案九:
解决方案十:
list里边的数据有很多,DataGridView绑定的字段很少,如果用list绑定就会出现好多没有用的字段。而且列头还会显示成数据库字段的名字,非常不和谐
解决方案十一:
声明一个新的datagridview,把该和谐的都和谐掉,在绑定导出
解决方案十二:
重新整理一个数据集绑定要导出的数据,再导出
解决方案十三:
你可以导出你有用的字段,,你可以固定那几个的。