Introduction
I'm sure you've all seen by now the Microsoft Office 2007 (Microsoft Office 2010 and going forward) new default file formats .XLSX, .DOCX, .PPTX etc. files but I don't know if you know that if you rename the file and add a .ZIP to the end of the file name, you can open the file and see that it's a ZIP file with XML files inside it.
The Microsoft Office 2007 new default file formats are a set of XML/markup languages: a SpreadSheet markup language used for creating Excel files, a WordProcessing language for Word, a Presentation markup language for PowerPoint etc. and a set of conventions how the XML files are packaged inside the ZIP file, that are collectively called Office Open XML or OpenXML for short or just the OOXML acronym.
When I first set out to write the OpenXML Libraries above everything else I wanted to write a solution that will let me do the design in a visual tool and write the queries in Progress, and that's still the idea how to use the OpenXML Libraries: do the design in Microsoft Office and merge the data in Progress.
Note: OpenXML is supported by basically every modern Office suite out there. Microsoft Office 2000 and 2003 (through a freely downloadable service pack), Open Office (starting with version 3.0), LibreOffice, Google Docs, Apple iWorks, IBM Lotus Notes, Corel WordPerfect and many more. I can even open OpenXML files on my iPhone.
You can also use Open Office or another Office suite to design and open your OpenXML files.