Export ASP.NET Gridview data into MS-Excel sheet
- Prepare Database, table, and insert data into table.
- Bind table data in to ASP.Net Gridview (gridview name "gvPrint") data control.
HtmlForm class:
HtmlForm provides programmatic access to the HTML <form> element on the server through the set of properties.
Namespace: using System.Web.UI.HtmlControls;
Code under Print button:
protected void btnPrint_Click(object sender, EventArgs e)
{
ExportFromHtmlForm(gvPrint);
}
public void ExportFromHtmlForm(GridView gv)
{
HtmlForm form = new HtmlForm();
string attachment = "attachment; filename=PrintDetails.xls";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel";
//namespace (using system.IO)
StringWriter stw = new StringWriter();
HtmlTextWriter htextw = new HtmlTextWriter(stw);
gv.Parent.Controls.Add(form);
form.Attributes["runat"] = "server";
form.Controls.Add(gv);
this.Controls.Add(form);
form.RenderControl(htextw);
Response.Write(stw.ToString());
Response.End();
}