In 2009 Microsoft released a case study about a project that we had done using the OOXML SDK 1.0 for Research Directors Inc. Since that time Microsoft has released version 2.0 of the SDK and PSC has done significant development with it. Below are some of the mile stones we have reached since the original case study.
At the time of the original case study two report types had been automated to output as PowerPoint presentations. Now that the all the main products have been delivered we have added three reports with Word document outputs and five more reports with PowerPoint outputs.
One improvement we made over the original application was to create a PowerPoint Add-In which allows the users to tag a slide. These tags along with the strongly typed SDK 2.0 allows for the code to use LINQ to easily search for slides in the template files. This allows for a more flexible architecture base on assembling a presentation from copied slide extracted from the template.
The new library we created also enabled us to create two new Word based reports in two weeks. The library we created abstracts the generation of the documents from the business logic and the data retrieval. The key to this is the mark up. Content Controls are a good method for identifying sections of a template to be modified or replaced. Join this with the concept of all data being generically either scalar or two dimensional and the code becomes more generic.
In the end we found the OOXML SDK 2.0 to be a great tool for accelerating document generation development and creating happy clients.