How to Export Data from Gridview to Excel in Asp.net using VB.NET OR C#
.Aspx File
C#
VB
Demo:
Excel Demo:
Download Demo:
.Aspx File
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="demo.aspx.cs" Inherits="demo" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <div> <asp:GridView ID="gvDetails" AutoGenerateColumns="False" runat="server"> <Columns> <asp:BoundField HeaderText="UserId" DataField="UserId" /> <asp:BoundField HeaderText="UserName" DataField="UserName" /> <asp:BoundField HeaderText="Education" DataField="Education" /> <asp:BoundField HeaderText="Location" DataField="Location" /> </Columns> </asp:GridView> </div> <asp:Button ID="btnExport" runat="server" Text="Export to Excel" /> </div> </form> </body> </html> |
C#
VB
Imports System.Data Imports System.IO Imports System.Web.UI Partial Class ExportGridviewDatainVB Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load If Not IsPostBack Then BindGridview() End If End Sub Protected Sub BindGridview() Dim dt As New DataTable() dt.Columns.Add("UserId", GetType(Int32)) dt.Columns.Add("UserName", GetType(String)) dt.Columns.Add("Education", GetType(String)) dt.Columns.Add("Location", GetType(String)) dt.Rows.Add(1, "suranisizar", "B.E", "surat"); dt.Rows.Add(2, "suranisahil", "B.E", "Bharuch"); dt.Rows.Add(3, "suranisalim", "B.E", "Mumbai"); gvDetails.DataSource = dt gvDetails.DataBind() End Sub Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) ' Verifies that the control is rendered End Sub Protected Sub btnExport_Click(ByVal sender As Object, ByVal e As EventArgs) Response.ClearContent() Response.Buffer = True Response.AddHeader("content-disposition", String.Format("attachment; filename={0}", "Customers.xls")) Response.ContentType = "application/ms-excel" Dim sw As New StringWriter() Dim htw As New HtmlTextWriter(sw) gvDetails.AllowPaging = False BindGridview() 'Change the Header Row back to white color gvDetails.HeaderRow.Style.Add("background-color", "#FFFFFF") 'Applying stlye to gridview header cells For i As Integer = 0 To gvDetails.HeaderRow.Cells.Count - 1 gvDetails.HeaderRow.Cells(i).Style.Add("background-color", "#df5015") Next gvDetails.RenderControl(htw) Response.Write(sw.ToString()) Response.[End]() End Sub End Class |
Demo:
|
Excel Demo:
|
Download Demo:
No comments:
Post a Comment