How to export GridView To PDF in asp.net c#
In this article , we will export the data from
gridview to PDF file.
Using this script we can create the above design
table
CREATE TABLE [dbo].[pdf](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](50) NULL,
[City] [nvarchar](50) NULL,
CONSTRAINT
[PK_exportpdf] PRIMARY KEY
CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS
= ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
Source code :-
<%@
Page Language="C#" AutoEventWireup="true" CodeFile="gridviewtopdf.aspx.cs" Inherits="gridviewtopdf"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView runat="server"
ID="GridView1"
runat="server"
AutoGenerateColumns="False"
CellPadding="4" DataKeyNames="Id" DataSourceID="SqlDataSource1"
ForeColor="#333333" GridLines="None">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" InsertVisible="False"
ReadOnly="True" SortExpression="Id" />
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
<asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />
</Columns>
<EditRowStyle BackColor="#7C6F57" />
<FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#E3EAEB" />
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F8FAFA" />
<SortedAscendingHeaderStyle BackColor="#246B61" />
<SortedDescendingCellStyle BackColor="#D4DFE1" />
<SortedDescendingHeaderStyle BackColor="#15524A" />
</asp:GridView>
<br />
<asp:ImageButton ID="imgbtn" runat="server" Height="74px" ImageUrl="~/PDF.jpg"
onclick="exporttopdf" Width="78px" />
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$
ConnectionStrings:CodeSolutionConnectionString %>"
SelectCommand="SELECT * FROM [pdf]"></asp:SqlDataSource>
</div>
</form>
</body>
</html>
Design :-
C# :-
using System;
using
System.Configuration;
using System.Data;
using System.IO;
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
iTextSharp.text;
using
iTextSharp.text.pdf;
using
iTextSharp.text.html.simpleparser;
public partial class gridviewtopdf : System.Web.UI.Page
{
protected void Page_Load(object
sender, EventArgs e)
{
}
public override void
VerifyRenderingInServerForm(Control control)
{
/* Verifies
that the control is rendered */
}
protected void exporttopdf(object
sender, ImageClickEventArgs e)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=file.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter
sw = new StringWriter();
HtmlTextWriter
hw = new HtmlTextWriter(sw);
GridView1.AllowPaging = false;
GridView1.DataBind();
GridView1.RenderControl(hw);
GridView1.HeaderRow.Style.Add("width", "15%");
GridView1.HeaderRow.Style.Add("font-size", "14px");
GridView1.Style.Add("text-decoration", "none");
GridView1.Style.Add("font-family", "Arial,
Helvetica, sans-serif;");
GridView1.Style.Add("font-size", "8px");
StringReader
sr = new StringReader(sw.ToString());
Document
pdfDoc = new Document(PageSize.A2, 7f, 7f, 7f, 0f);
HTMLWorker
htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc,
Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
}
}
How to export GridView To PDF in asp.net c#
Reviewed by NEERAJ SRIVASTAVA
on
5:41:00 PM
Rating:
No comments: