Download mulitple SharePoint Attachment and make One PPT


Some good old farm code after a long time.

The requirement is to let the user select a date range and then ask SharePoint to download a single compiled ppt from a list.  This ppt is a compiled ppt from attachments of the slides from each list items.

The items are filtered based on Creation Date and Code uses the Open xml to generate the ppt

Here are the steps to run the code... The code files can be downloaded from here

1.  Download and install Open xml from here.

2.  To your wsp Farm solution add the CombioneSlidesToPpt.aspx file.  The Page load, reads the incoming query parameters, downloads the list items and then generates one single ppt.

This ppt is generated by taking a copy of the existing template ppt and then adding the slides to this ppt.

The template is kept under the path as listed in the C# code.  Make sure you already have the folder and path correctly set in your environment

3.  From the client side, I have a content editor web part which points to my index.html file. I put this file in Document library (you can put it anywhere in any doc lib as long as you modify the link in CEWP).

4. The index file is simply an html file which renders date time field as well as the button to download the ppt.  I am using Angular to capture the date ranges and generate the link. In your case, you can directly set these in url and call the page via browser to test


hope his helps.  Any problem in replicating the code gimme a ping on twitter @techAkki