use itextsharp.dll use this method public void WritePDF() { switch (FileType) { case "PDF": { try { StringWriter sw = new StringWriter(); System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw); System.Web.UI.HtmlControls.HtmlForm frm = new System.Web.UI.HtmlControls.HtmlForm(); HttpContext.Current.Response.ContentType = "application/pdf"; HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=Export.pdf"); HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); 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, HttpContext.Current.Response.OutputStream); pdfDoc.Open(); htmlparser.Parse(sr); pdfDoc.Close(); HttpContext.Current.Response.Write(pdfDoc); HttpContext.Current.Response.End(); } catch (Exception f) { } break; } case "Word": { HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=Export.doc"); HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); HttpContext.Current.Response.ContentType = "application/vnd.word"; StringWriter stringWrite = new StringWriter(); System.Web.UI.HtmlTextWriter htmlWrite = new System.Web.UI.HtmlTextWriter(stringWrite); System.Web.UI.HtmlControls.HtmlForm frm = new System.Web.UI.HtmlControls.HtmlForm(); GV.Parent.Controls.Add(frm); frm.Attributes["runat"] = "server"; frm.Controls.Add(GV); frm.RenderControl(htmlWrite); HttpContext.Current.Response.Write(stringWrite.ToString()); HttpContext.Current.Response.End(); break; } case "Excel": { try { string attachment = "attachment; filename=Export.xls"; HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.AddHeader("content-disposition", attachment); HttpContext.Current.Response.ContentType = "application/ms-excel"; StringWriter sw = new StringWriter(); System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw); System.Web.UI.HtmlControls.HtmlForm frm = new System.Web.UI.HtmlControls.HtmlForm(); GV.Parent.Controls.Add(frm); frm.Attributes["runat"] = "server"; frm.Controls.Add(GV); frm.RenderControl(htw); HttpContext.Current.Response.Write(sw.ToString()); HttpContext.Current.Response.End(); } catch (Exception f) { } break; } } }