Office OpenXML Standards

Generally we come across following issues when generating office documents at server :

1.Creating and Reading MS Office XPS (.XLSX, DOCX) file formats by using Interop libraries at server end requires MS office client installed on server.
2.When creates office documents which will invoke corresponding executable process(winword.exe,excel.exe) for every request and executable process hangs on server memory until garbage collected properly.
3.Response time of our request to create files will take long time if more requests made at a time.

The best way to overcome these problems (mentioned in Problem Statement) is using Office Open XML Standards to generate MS office files at server. Microsoft .NET Framework provides set of classes and wrappers around the System.IO.Packaging namespace which is in WindowsBase.dll to process the new Office Open XML file format. It extracts away the complexity of dealing with the individual XML components making it real easy to create sophisticated spreadsheets and documents on the server.
There are so many .NET helper libraries are available to generate Office files at server :
• DocX (http://docx.codeplex.com/)
• ExcelPackage (http://excelpackage.codeplex.com/)
• EPPlus (http://epplus.codeplex.com/)
• Simple OOXML (http://simpleooxml.codeplex.com/)

Among them we are using “EPPlus” which supports setting values and formulas, cell styling, auto filters, add drawings (charts, shapes and pictures) and more in excel (XLSX) format.