Exporting Gridview to PDF
First of all download the iTextSharp and add the reference of following dlls into your application.
itextsharp.dll
itextsharp.pdfa.dll
itextsharp.pdfa.dll
Now add the Gridview and button control into your ASPX page. Configure the data source for Gridview. ASPX will be look as shown below.
<asp:GridView ID="grdSample" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1"
EnableModelValidation="True"
Width="400px">
<Columns>
<asp:BoundField DataField="ID"
HeaderText="ID"
SortExpression="ID"
/>
<asp:BoundField DataField="FirstName"
HeaderText="First
Name"
SortExpression="FirstName"
/>
<asp:BoundField DataField="Lastname"
HeaderText="Last
Name"
SortExpression="Lastname"
/>
<asp:BoundField DataField="Age"
HeaderText="Age"
SortExpression="Age"
/>
<asp:BoundField DataField="Phone"
HeaderText="Phone"
SortExpression="Phone"
/>
<asp:BoundField DataField="Email"
HeaderText="Email"
SortExpression="Email"
/>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:SampleDBConnectionString %>"
SelectCommand="SELECT *
FROM [SampleInfoTable]"></asp:SqlDataSource>
<br />
<asp:Button ID="btnExport"
runat="server"
Text="Expot to
PDF"
onclick="btnExport_Click"
/>
Now add the following namespaces in your page.
using iTextSharp.text;
using iTextSharp.text.html.simpleparser;
using iTextSharp.text.pdf;
After adding the namespaces, write the following code in Click event of the button.
protected void
btnExport_Click(object sender, EventArgs e)
{
Response.ContentType
= "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=Sample.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new
StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
//Set AllowPaginf false to export the full data
grdSample.AllowPaging
= false;
grdSample.DataBind();
//Start the rendering of control here
grdSample.RenderBeginTag(hw);
grdSample.HeaderRow.RenderControl(hw);
foreach (GridViewRow
row in grdSample.Rows)
{
row.RenderControl(hw);
}
grdSample.FooterRow.RenderControl(hw);
grdSample.RenderEndTag(hw);
//Apply some style settimgs
grdSample.Caption
= "Your caption";
grdSample.Style.Add("width", "400px");
grdSample.HeaderRow.Style.Add("font-size", "12px");
grdSample.HeaderRow.Style.Add("font-weight", "bold");
grdSample.Style.Add("border", "1px
solid black");
grdSample.Style.Add("text-decoration", "none");
grdSample.Style.Add("font-family", "Arial,
Helvetica, sans-serif;");
grdSample.Style.Add("font-size", "8px");
StringReader sr = new
StringReader(sw.ToString());
//creating
new pdf document
Document pdfDoc = new
Document(PageSize.A4,
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();
Response.Clear();
}
Output Screens
0 comments:
Post a Comment