Export gridview to excel in Asp.net :
Introduction : In this article i will show you how to export GridView to excel file. Many times we require to export the GridView to excel sheet file.I have here written following code in asp.net c# to export the gridview control to excel sheet file.
Html code for gridview export to excel sheet :
Html code for gridview export to excel sheet :
<asp:GridView ID="GridViewExample" runat="server" AutoGenerateColumns="False" BackColor="White"
BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" CellPadding="4">
<Columns>
<asp:TemplateField HeaderText="City Name" SortExpression="Name" FooterStyle-Width="200px"
ItemStyle-Width="200px">
<ItemTemplate>
<asp:Label ID="lblCityName" Text='<%#Bind("Name")%>' runat="server"></asp:Label>
</ItemTemplate>
<FooterStyle Width="200px"></FooterStyle>
<ItemStyle Width="200px"></ItemStyle>
</asp:TemplateField>
<asp:TemplateField HeaderText="STD Code" SortExpression="STDCode" FooterStyle-Width="100px"
ItemStyle-Width="100px">
<ItemTemplate>
<asp:Label ID="lblSTDCOde" Text='<%#Bind("STDCode")%>' runat="server"></asp:Label>
</ItemTemplate>
<FooterStyle Width="100px"></FooterStyle>
<ItemStyle Width="100px"></ItemStyle>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
<HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
<PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
<RowStyle BackColor="White" ForeColor="#003399" />
<SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
<SortedAscendingCellStyle BackColor="#EDF6F6" />
<SortedAscendingHeaderStyle BackColor="#0D4AC4" />
<SortedDescendingCellStyle BackColor="#D6DFDF" />
<SortedDescendingHeaderStyle BackColor="#002876" />
</asp:GridView>
<asp:Button ID="btnExport" BackColor="#003399" Text="Export To Excel" runat="server"
OnClick="btnExport_Click" />
C# Code to export the gridview to excel sheet :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.IO;
namespace HamidSite
{
public partial class GridviewExportToExcel : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGridView();
}
}
private void BindGridView()
{
try
{
DataTable Dt = GetDataTable("Select Name ,stdcode from citytable");
GridViewExample.DataSource = Dt;
GridViewExample.DataBind();
}
catch (Exception)
{
throw;
}
}
private DataTable GetDataTable(string Query)
{
DataSet Ds = new DataSet();
try
{
string strCon = @"Data Source=ServerName;Initial Catalog=Test;Integrated Security=True;"; //Conntection String
SqlConnection Con = new SqlConnection(strCon);
SqlDataAdapter Da = new SqlDataAdapter(Query, Con);
Da.Fill(Ds);
}
catch (Exception) { }
return Ds.Tables[0];
}
protected void btnExport_Click(object sender, EventArgs e)
{
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=GridViewExample.xls");
Response.Charset = "";
Response.ContentType = "application/vnd.xls";
StringWriter StringWriter = new System.IO.StringWriter();
HtmlTextWriter HtmlTextWriter = new HtmlTextWriter(StringWriter);
GridViewExample.RenderControl(HtmlTextWriter);
Response.Write(StringWriter.ToString());
Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{
}
}
}


Nice code brother ..Its helped me
ReplyDeletegf
ReplyDeletevery helpful... thanks
ReplyDeleteI have three gridview with different no of columns like 8,6 and 2 !! so when i export them to excel the column width is not showing proper format !! plz help
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteWhat really sets eMexo apart is the help they give you to find a job. I took the AWS training with the placement electronic city program. I got great advice on my career from the very start. The people at eMexo helped me make my resume better they did interviews with me and they gave me good ideas for jobs. After I finished the course it only took me a month to get a job with an IT company. The people, at eMexo really did help me find a job. They kept helping me the whole time I was learning with eMexo and the aws training with placement electronic city program.
ReplyDelete