我有一大块代码可以将网格视图中的数据提取到excel文件中。但是它没有提取网格视图数据,而是将html视图中存在的整个数据复制到我的excel中,如下所示:
如何才能将我的网格视图数据转换为Excel? 我的excel代码如下。我不会使用Response.End(),因为它会抛出ThreadAbortException。
protected void btnExcelGenerator_Click(object sender, EventArgs e)
{
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
GridViewRefurb.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.Flush();
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
提前感谢,感谢您的帮助
答案 0 :(得分:0)
做一些改变
1)ASPX页面:Panel中的Gridview
<asp:panel id = "panel_export" runat = "server" >
<asp:Gridview id = "Gridview" runat = "server">
</Gridview>
</asp:Panel>
2)在Excel导出渲染面板而不是Gridview
panel_export.RenderControl(htmlWrite);