Gridview到Excel问题

时间:2015-01-09 10:26:03

标签: asp.net gridview

我有一大块代码可以将网格视图中的数据提取到excel文件中。但是它没有提取网格视图数据,而是将html视图中存在的整个数据复制到我的excel中,如下所示:

enter image description here

如何才能将我的网格视图数据转换为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();

}

提前感谢,感谢您的帮助

1 个答案:

答案 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);