Thursday, August 14, 2014

Programmatically creating an Excel file without using OpenXML(or Excel Interop)

With the switch to the Excel XLSX format, it became possible to create Excel files using the new XML based OpenXML format. Great news for us developers as we no longer needed Excel Interop or 3th party components to generate our XML files programmatically.

However, the world ain’t perfect yet, as the OpenXML format is very rich and complex. So it’s still not easy to generate an XML file without any help or tooling. Luckily for us there is the OpenXML SDK which helps a lot when creating these Excel files.

But did you know there is a simpler alternative which doesn’t even require the OpenXML SDK? Using a simple XML is enough. Let’s have a look…

  • First create a new MVC application
  • Inside the App_Data folder add the following XML template:
  • Let’s now create an action method that reads the XML template, replaces the placeholder token with some data and send the results to the browser:
  • Run the application and browse to the /home/downloadexcel url
  • A download dialog will be shown and once you open the file in Excel you’ll see something like:

image

No comments: