How to Export gridview or repeater data to Excel
Description
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"%>