单击导出按钮时我想导出 aspx gridview?

while clicking on export button i want to export aspx gridview?

我想在单击导出按钮时导出 ASPxGridView。

我正在使用下面的代码,但没有得到所需的结果:

protected void btn_excel_Click1(object sender, EventArgs e)
    {
        ASPxGridViewExporter1 . WriteXlsToResponse();
    }

如果要将网格视图数据导出到 excel,则使用数据 table。将 gridview 数据绑定到数据 table 并将数据 table 数据导出到 excel。

导出到 Excel 使用此代码。

<asp:GridView ID="GrdAccess" runat="server" AutoGenerateColumns="false" Width="70%" AllowPaging="true" PageSize="20" CssClass="Grid" RowStyle-BackColor="#A1DCF2" AlternatingRowStyle-BackColor="White" AlternatingRowStyle-ForeColor="#000" PagerStyle-CssClass="pgr" OnPageIndexChanging="GrdAccess_PageIndexChanging"></asp:GridView>

protected void ExportToExcel(object sender, EventArgs e)
        {
            Response.Clear();
            Response.Buffer = true;
            Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.xls");
            Response.Charset = "";
            Response.ContentType = "application/vnd.ms-excel";
            using (StringWriter sw = new StringWriter())
            {
                HtmlTextWriter hw = new HtmlTextWriter(sw);

                //To Export all pages
                GrdAccess.AllowPaging = false;
                this.getProjectDetails();

                GrdAccess.HeaderRow.BackColor = Color.White;
                foreach (TableCell cell in GrdAccess.HeaderRow.Cells)
                {
                    cell.BackColor = GrdAccess.HeaderStyle.BackColor;
                }
                foreach (GridViewRow row in GrdAccess.Rows)
                {
                    row.BackColor = Color.White;
                    foreach (TableCell cell in row.Cells)
                    {
                        if (row.RowIndex % 2 == 0)
                        {
                            cell.BackColor = GrdAccess.AlternatingRowStyle.BackColor;
                        }
                        else
                        {
                            cell.BackColor = GrdAccess.RowStyle.BackColor;
                        }
                        cell.CssClass = "textmode";
                    }
                }

                GrdAccess.RenderControl(hw);

                //style to format numbers to string
                string style = @"<style> .textmode { } </style>";
                Response.Write(style);
                Response.Output.Write(sw.ToString());
                Response.Flush();
                Response.End();
            }
        }


    public override void VerifyRenderingInServerForm(Control control)
        {

        }

试试这个

  1. Session["Excel"] - 您要导出的项目(在我的例子中,我将其存储在会话中)。

    使用 (var exporter = new NpoiExport()) {

        DataTable dt = new DataTable();
        dt = (DataTable)Session["Excel"];
        exporter.ExportDataTableToWorkbook(dt, "Result");
    
        string saveAsFileName = string.Format("Results-{0:d}.xls", DateTime.Now);
    
    
        Response.ContentType = "application/excel";
    
        Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", saveAsFileName));
    
        Response.Clear();
    
        Response.BinaryWrite(exporter.GetBytes());
    
        Response.End();
    }