Scott Hanselman

Exporting tabular data to Excel from ASP.NET

April 21, 2003 Comment on this post [5] Posted in Web Services | ASP.NET | XML
Sponsored By

There's a number of ways to "export" data to Excel from an ASP.NET site - some more elegant than others.

  • Gross: You can use ASP.NET to generate a CSV file of Mime Type text/plain or text/csv and write it back to the browser.
  • NOT Gross: You can use ASP.NET to generate an XML-SS (Excel XML Spreadsheet) document and write it back to the browser.
  • Really Easy but not Really XMLy: You can take advantage of the ASP.NET DataGrid's ability to generate HTML tables quickly and return the page with a Mime Type of application/  Here's a great example on how to create these reports
  • Easy but uses 3rd Party Control: Use ExcelWriter on the server side to create the Report.
  • Disgusting: Automate Excel on the ServerSideDon't do this for Pete's Sake.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Hosting By
Hosted in an Azure App Service
April 22, 2003 11:03
OK, Scott, why do you find the XML approach "less gross"? It seems like the cleanest solution to me.
April 22, 2003 19:42
Oops...I meant to write NOT Gross.
March 11, 2004 17:53
You say not to use automation. How am I supposed to create multiple worksheets and manipulate them? Automation seems to be the only way to do it and I have an application that needs to create a workbook and add three different worksheets from three different datasets. If you could explain how to do this without having to use automation and NOT using 3rd-party controls, I would appreciate it.

June 03, 2004 7:27
How did you know that I need to do this? There must be a hole in my tin-foil hat again.

Seriously, I appreciate the post and will put it to good use.

November 03, 2005 10:25

Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.