qlikview:powerpoints

Generate Powerpoint presentations with Qlikview

Many(my) organisations often request they get data from a Qlikview sheet in some sort of a powerpoint presentation ready to present on a meeting. Very often the powerpoint presentation has the same structure, only the graphs are updated. It is therefor very fortunate that the new pptx format from Microsoft is a zip file, which contains the graphs as png files.

Applying this paradigme it possible to extract the graphs from the Qlikview document and save them into png images which are then stored in the powerpoint pptx file.

To get started you need to generate the powerpoint slides with the relating graphs. This will function as your presentation framework. Thereafter it is only a question of Qlikview generating the graph images, and replace them in the pptx zip file.

Here's how to you can create Microsoft powerpoint slides with Qlikview. start with generating your powerpoint presentation as mentioned earlier.

Requirements

This is the minimum requirements to succeed

  • Knowledge in Qlikview and how to define macros
  • Qlikview
  • Programming/Scripting skills

Get started

  1. Create a powerpoint that will function as your framework and store your powerpoint presentation as myslides.pptx
  2. Rename the file from myslides.pptx to myslides.zip
  3. Extract myslides.zip to a folder <myslides> eg c:\temp

Defining necassary macros

The necassary macros are here. Create your macro and place them in your Qlikview document, so it will store the graph objects as png, and store them in the extracted powerpoint slides. The images in the extracted powerpoint presentation has the following path: c:\temp\myslides\ppt\media

sub saveimg
 ActiveDocument.GetSheetObject("txt").ExportBitmapToFile("c:\temp\<extracted pptx>\ppt\media\image1.png")
 ActiveDocument.GetSheetObject("CH01").ExportBitmapToFile("c:\temp\<extracted pptx>\ppt\media\image2.png")
end sub

It is now time to compress this extracted powerpoint presentation again. Do this with zip.

Automation

Automating this requires some skills in visual basic scripting, but if you understand the above concept you should be well on your way already.