export gridview to excel, Word,pdf in asp.net c#
Create a new Project:
Step:1
Now type code given below
(Export.aspx)
<%--<Developed by
www.c-sharplibrary.com>--%>
<%@ Page
Language="C#"
AutoEventWireup="true"
CodeFile="Export.aspx.cs"
Inherits="Export"
Title="Untitled
Page" %>
<script type="text/javascript">
function CallPrint(strid) {
var prtContent = document.getElementById(strid);
var WinPrint = window.open('print.htm',
'PrintWindow', 'letf=0,top=0,width=800%,height=600,toolbar=1,scrollbars=1,status=1');
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.close();
WinPrint.focus();
WinPrint.print();
WinPrint.close();
}
</script>
<form id="form1" runat="server">
<table style="width: 73%">
<tr>
<td class="style3">
</td>
<td colspan="2" style="height: 27px">
</td>
</tr>
<tr>
<td class="style4">
</td>
<td>
<div><h1>Export Grid In to multiple Format</h1></div></td>
<td>
</td>
</tr>
<tr>
<td class="style4">
</td>
<td colspan="2">
<br />
<asp:dropdownlist id="DropDownList1"
runat="server"
appenddatabounditems="True"
autopostback="True">
<asp:ListItem Value="0">Select
Export Type</asp:ListItem>
<asp:ListItem>Excel</asp:ListItem>
<asp:ListItem>Word</asp:ListItem>
<asp:ListItem>PDF</asp:ListItem>
</asp:dropdownlist>
<asp:button id="btnword"
runat="server"
onclick="btnword_Click"
text="Export"
/>
</td>
</tr>
<tr>
<td class="style4">
</td>
<td colspan="2">
<br />
<div runat="server"
id="divPrint">
<asp:gridview id="gv" runat="server"
backcolor="White"
bordercolor="#336666"
borderstyle="Double"
borderwidth="3px"
cellpadding="4"
font-size="10pt"
pagesize="20"
autogeneratecolumns="False"
width="470px"
EnableModelValidation="True"
GridLines="Horizontal">
<FooterStyle
BackColor="White"
ForeColor="#333333"
/>
<RowStyle
ForeColor="#333333"
BackColor="White"
/>
<Columns>
<asp:TemplateField HeaderText="User ID">
<ItemTemplate>
<asp:Label ID="Label1" runat="server"
Text='<%# Eval("id") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="First Name">
<ItemTemplate>
<asp:Label ID="Label2" runat="server"
Text='<%# Eval("fname") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Last Name">
<ItemTemplate>
<asp:Label ID="Label3" runat="server"
Text='<%# Eval("lname") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Type">
<ItemTemplate>
<asp:Label ID="Label4" runat="server"
Text='<%# Eval("type") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle
BackColor="#336666"
ForeColor="White"
HorizontalAlign="Center"
/>
<SelectedRowStyle
BackColor="#339966"
Font-Bold="True"
ForeColor="White"
/>
<HeaderStyle
BackColor="#336666"
Font-Bold="True"
ForeColor="White"
/>
</asp:gridview>
</div>
</td>
</tr>
<tr>
<td class="style4">
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td class="style4">
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td class="style4">
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td class="style4">
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td class="style4">
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
</form>
<style type="text/css">
.style3
{
height: 27px;
width: 93px;
}
.style4
{
width: 93px;
}
</style>
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Globalization;
using System.Text;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html;
using iTextSharp.text.html.simpleparser;
public partial class Export :
System.Web.UI.Page
{
protected void
Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
SqlConnection cn = new
SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["Connect"].ConnectionString);
cn.Open();
SqlCommand cmd = new
SqlCommand("Select
* from ravi_p_employee", cn);
SqlDataReader dtr = cmd.ExecuteReader();
if (dtr.HasRows)
{
dtr.Read();
gv.DataSource = dtr;
gv.DataBind();
}
cn.Close();
}
}
protected void
btnword_Click(object sender, EventArgs e)
{
if(DropDownList1.SelectedIndex!=0)
{
if (DropDownList1.SelectedValue=="Excel")
{
string attachment = "attachment; filename=Export.xls";
Response.ClearContent();
Response.AddHeader("content-disposition",
attachment);
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
HtmlForm frm = new HtmlForm();
gv.Parent.Controls.Add(frm);
frm.Attributes["runat"] = "server";
frm.Controls.Add(gv);
frm.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
}
if(DropDownList1.SelectedValue=="Word")
{
Response.AddHeader("content-disposition",
"attachment;filename=Export.doc");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.word";
StringWriter stringWrite = new StringWriter();
HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
HtmlForm frm = new
HtmlForm();
gv.Parent.Controls.Add(frm);
frm.Attributes["runat"] = "server";
frm.Controls.Add(gv);
frm.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
}
if(DropDownList1.SelectedValue=="PDF")
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition",
"attachment;filename=Export.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new
StringWriter();
HtmlTextWriter hw = new
HtmlTextWriter(sw);
HtmlForm frm = new
HtmlForm();
gv.Parent.Controls.Add(frm);
frm.Attributes["runat"] = "server";
frm.Controls.Add(gv);
frm.RenderControl(hw);
StringReader sr = new
StringReader(sw.ToString());
Document pdfDoc = new
Document(PageSize.A4,
10f, 10f, 10f, 0f);
HTMLWorker htmlparser = new
HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc,
Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
}
}
}
}
I hope This Program will help You .If You have any Query Then type.I will try to solve Your Query.
-Ravikumhar
Click To download Source