Search
Close this search box.

Export ASP.NET page to Word, Excel or PDF

Many times we would like to export our page as an Excel sheet, Word doc or PDF file. This can be simply achieved by changing the ContentType of the Response object and overriding the RenderControl method of the control to be exported:

Page Load() {
  // bind data to data bound controls and do other stuff

  Response
      .Clear();  // this clears the Response of any headers or previous output
  Response.Buffer =
      true;  // make sure that the entire output is rendered simultaneously

  ///
  /// Set content type to MS Excel sheet
  /// Use "application/msword" for MS Word doc files
  ///"application/pdf" for PDF files
  ///

  Response.ContentType = "application/vnd.ms-excel";
  StringWriter stringWriter =
      new StringWriter();  // System.IO namespace should be used

  HtmlTextWriter htmlTextWriter = new HtmlTextWriter(stringWriter);

  ///
  /// Render the entire Page control in the HtmlTextWriter object
  /// We can render individual controls also, like a DataGrid to be
  /// exported in custom format (excel, word etc)
  ///
  this.RenderControl(htmlTextWriter);
  Response.Write(stringWriter.ToString());
  Response.End();
}  // end page load

For exporting ASP.NET pages as PDF files, you need to know the Adobe PDF specs for generating the PDf correctly. There is already a wonderful component which does the same and its free! See this article along with sample source code on how to export a page to PDF:

http://www.codeproject.com/cs/library/giospdfnetlibrary.asp

Hope this would be helpful…!

posted on Tuesday, September 26, 2006 1:13 PM

This article is part of the GWB Archives. Original Author: Vivek Thakur

Related Posts