将gridview导出为具有多个页面的excel。 [英] Export gridview to excel that has multiple pages.
问题描述
我有一个从我的SQL数据库绑定数据的gridview。数据太多,无法在Web屏幕上一次查看所有内容,因此我允许它在网格视图中进行分页。在我这样做之前,我有一个按钮,可以将gridview导出为excel格式,我可以将其打开并查看我的所有数据。现在我启用了分页,我导出gridview它只导出gridview的第一页而不是整个东西。有没有办法我可以导出gridview与所有页面而不将gridview更改回其原始状态?
I have a gridview that is data-bound from my SQL database. The data is too much to view all at once on the Web screen so I allowed it to page the gridview. Before I did this I have a button that can export the gridview to excel format and I can open it up and see all of my data. Now I have the paging enabled and I export the gridview it only exports that first page of the gridview and not the whole thing. Is there a way I can export the gridview with all the pages without changing the gridview back to its original state?
protected void ButtonExcel_Click(object sender, EventArgs e)
{
<pre>Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=FINSubmitted.xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
System.IO.StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView2.RenderControl(hw);
string style = @"<style> .textmode { } </style>";
Response.Write(style);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
}
我尝试过:
我试图改变Gridview.Allowpaging = false;
What I have tried:
I have tried to changed the Gridview.Allowpaging = false;
推荐答案
尝试创建一个新的Gridview对象
try creating a new Gridview object
protected void ButtonExcel_Click(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=FTESubmitted.xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
System.IO.StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView GridviewExcel = new GridView();
GridviewExcel.AllowPaging = false;
GridviewExcel.DataSource = yourSource;
GridviewExcel.RenderControl(hw);
string style = @"<style> .textmode { } </style>";
Response.Write(style);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
}
protected void ButtonExcel_Click(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=FINSubmitted.xls");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
System.IO.StringWriter sw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView2.AllowPaging = false;
GridView2.DataBind();
GridView2.RenderControl(hw);
string style = @"<style> .textmode { } </style>";
Response.Write(style);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
}
这篇关于将gridview导出为具有多个页面的excel。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!