Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Gridview到Excel问题_Asp.net_Gridview - Fatal编程技术网

Asp.net Gridview到Excel问题

Asp.net Gridview到Excel问题,asp.net,gridview,Asp.net,Gridview,我有一段代码将数据从网格视图提取到excel文件中。但它不是提取网格视图数据,而是将html视图中的所有数据复制到我的excel中,如下所示: 如何仅将网格视图数据输入excel? 下面是我的excel生成代码。我不使用Response.End(),因为它抛出ThreadAbortException protected void btnExcelGenerator_Click(object sender, EventArgs e) { Response.Clear()

我有一段代码将数据从网格视图提取到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();

}
感谢您的帮助,提前感谢您做一些更改

1) ASPX页面:面板内的Gridview

     <asp:panel id = "panel_export" runat = "server" >
       <asp:Gridview id = "Gridview" runat = "server">
        </Gridview> 
    </asp:Panel> 

我不会导出HTML,而是一个真正的excel文件。使用
EPPlus
非常简单,请看一看:@Tim谢谢,但在您的示例中,它不是从gridview加载的,而是从数据表加载的。我希望显示在网格视图中的数据反映在excel中。有点困惑,因为我从未听说过EPPlus。我可以使用帮助,但是
GridView
有一个
Dat5aSource
。将其用于
LoadFromDataTable
LoadFromCollection
。EPPlus是一个外部dll,而且c#中没有“Dim”关键字。它在vb中使用。因此,当遇到Dim
Dim
is VB.NET时,我会遇到一个错误,因为链接的答案回答了一个VB.NET问题
Dim
是C#中的
var
        panel_export.RenderControl(htmlWrite);