In Focus

Export Data in ASP.NET, Gridview to DOC - Gridview to Excel - Gridview to PDF

In this Article are some good tricks for exporting data from documents & PDF files.



In this article I am showing how to export data to other document software. In other software you have many work done easily. For sorting, searching and security purposes you do not want to use Excel & Doc format so you export GridView to PDF.

In this article are some good tricks for exporting data in Documents & PDF files.

GridView1.gif

In .aspx Page

On an aspx page first add controls. TextBoxes & Buttons and a Gridview. First I write a query in a text box then click the GO button. Fill a Gridview. Then I am using three buttons to export to Word, export to Excel and export to PDF.

Export to Word

To export to word write this code for the btnexporttoword Click event.

            
Response.AddHeader("content-disposition", "attachment;filename=Export.doc");
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.ContentType = "application/vnd.word";
        System.IO.StringWriter stringWrite = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
        // Create a form to contain the grid
        HtmlForm frm = new HtmlForm();
        gv.Parent.Controls.Add(frm);
        frm.Attributes["runat"] = "server";
        frm.Controls.Add(gv);
        frm.RenderControl(htmlWrite);
        //GridView1.RenderControl(htw);
        Response.Write(stringWrite.ToString());
        Response.End();


After Clicking a Save As Dialog Box Opens

GridView2.gif

Export to Excel

In an export to excel write this code on btnexporttoExcel Click event.


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);
        // Create a form to contain the grid
        HtmlForm frm = new HtmlForm();
        gv.Parent.Controls.Add(frm);
        frm.Attributes["runat"] = "server";
        frm.Controls.Add(gv);
        frm.RenderControl(htw);

        //GridView1.RenderControl(htw);
        Response.Write(sw.ToString());
        Response.End();


After Clicking, a Save As Dialog Box Opens

GridView3.gif

Export to PDF

To export Gridivew to PDF frst add this DLLs: itextsharp.dll

Link :
http://sourceforge.net/projects/itextsharp/

Then add some namespaces

using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html;
using iTextSharp.text.html.simpleparser;

In a export to pdf Write this code on btnexporttoPdf Click event.

Response.ContentType = "application/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();

After Clicking, a Save As Dialog Box Opens

GridView4.gif

 

erver'>