How to Export gridview or repeater data to Excel

You can export the data of gridview to a excel file programmatically.
First add a gridview inside the form tag which must have runat="server"

example:
<asp:GridView ID="GridView1" runat="server">

</asp:GridView>
Bind the grid at page load
protected void Page_Load(object sender, EventArgs e)

{

   if (!IsPostBack)

   {

        BindGrid();

   }

}

private void BindGrid()

{

     string strFillgird = //yopur query

     //create a dataset here

     GridView1.DataSource = dsRecord;

     GridView1.DataBind();

}
Call this function to Export data whenever you require like onclick of button or linkbutton
private void ExportData()

{

  string FileName = "MyExcel.xls";

  //clear buffer

  Response.Clear();

  //display  Download dialog

  Response.AddHeader("content-disposition", "attachment;filename=" + FileName + "");

  Response.Charset = "";

  Response.Cache.SetCacheability(HttpCacheability.NoCache);

  Response.ContentType = "application/vnd.xls";

  System.IO.StringWriter ioWriter = new System.IO.StringWriter();

  System.Web.UI.HtmlTextWriter htmlWriter = new HtmlTextWriter(ioWriter);

  GridView1.RenderControl(htmlWriter);

  Response.Write(ioWriter.ToString());

  Response.End();

}
add this method to render gridview control

//If you are using master page
public override void VerifyRenderingInServerForm( Control control )

{

}
Note:Set EnableEventValidation as false

Example:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm46.aspx.cs" Inherits="DermsoftV2.Test.WebForm46" EnableEventValidation = "false"%>

Comments