Step 1: 
Create a page GridToExcel.aspx and write the below code.

Thank you for reading this post, don't forget to subscribe!

<div id=”divGrid” runat=”server”>
<asp:GridView ID=”gvData” runat=”server” AutoGenerateColumns=”true” AllowPaging=”true”
PageSize=”15″ OnPageIndexChanging=”gvData_PageIndexChanging”>
</asp:GridView>
</div>
<asp:Button ID=”btnExport” runat=”server” Text=”Export to Excel” OnClick=”btnExport_Click” />

Step 2:
In the GridToExcel.aspx.cs page write the below 4 functions in your code.

protected void Page_Load(object sender, EventArgs e)
{
FillData();
}

protected void FillData()
{
SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings[“conTest”].ToString());
SqlDataAdapter da = new SqlDataAdapter(“select * from [TableName]”, cn);
DataSet ds = new DataSet();
da.Fill(ds);
gvData.DataSource = ds;
gvData.DataBind();
}

protected void gvData_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvData.PageIndex = e.NewPageIndex;
gvData.DataBind();
}

protected void btnExport_Click(object sender, EventArgs e)
{
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader(“content-disposition”, string.Format(“attachment; filename=Export..xls”));
Response.ContentType = “application/xls”;
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gvData.AllowPaging = false;
FillData();
gvData.HeaderRow.Style.Add(“background-color”, “#FFAA00”);
gvData.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
}

public override void VerifyRenderingInServerForm(Control control)
{
}