【发布时间】:2011-09-09 10:49:49
【问题描述】:
我的页面中有一个网格视图。我想要的是当用户单击“导出”按钮时,它应该打开一个框来下载文件并保存为 Excel 表。我在网格中启用了分页,但是当我导出数据时,无论分页如何,所有行都必须在 excel 表中发送。我无法导出我的数据源(数据表),因为它包含一些隐藏的其他列,但我只是出于我的目的使用它,而不是向用户显示什么。 我怎么能这样……???我没有任何想法......
正如詹姆斯约翰逊所说..我确实喜欢那样。这是他给的代码
protected void btnExport_Click(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
Response.Charset = "";
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
GridView1.RenderControl(oHtmlTextWriter);//Error is thrown from here.
Response.Write(oStringWriter.ToString());
Response.End();
}
但是这样做会在代码中的指定药水处引发以下错误
Control 'ctl00_ContentPlaceHolder1_ViewAdvances1_grdAdvance' of type 'GridView' must be placed inside a form tag with runat=server.
我在用户控件中放置了gridview,用户控件放置在.aspx页面中,并且该页面使用了已经有表单标签的母版页。
【问题讨论】:
标签: asp.net gridview export-to-excel