SpreadsheetML-Einführung

Mit dem Software-Paket für Büroanwendungen Office 2007 hat Microsoft, der unbestrittene Marktführer in diesem Bereich, einen weiteren Schritt unternommen, seine Dateiformate zu standardisieren und offenzulegen. Bereits bei Microsoft Office 2003 hatten die Programme Word und Excel eine implementierte XML-Schnittstelle (eXtensible Markup Language). Dabei sind erste Versionen der XML-Sprachen WordML (WordprocessingML) für Word und SpreadsheetML für Excel entstanden. Mit einem zusätzlichen Speicherformat kann der Anwender Excel- oder Word-Dateien als XML-Dokumente abspeichern und so entsprechend weiterverarbeiten. Ebenso können XML-Dokumente, die einer bestimmten Struktur entsprechen, mit der jeweiligen Applikation als Excel- bzw. Word-Dokumente geöffnet werden.

Hierbei unterscheiden sich die damals eingeführten Sprachen SpreadsheetML und WordML in der Vollständigkeit der Implementierung erheblich. Während WordML die meisten möglichen Konstruktionen nachbilden kann, die in Word-Dokumenten vorkommen können, kann Office 2003 nur eine rudimentäre Excel-Datei im SpreadsheetML-Format speichern. So können z.B. Diagramme, Grafiken oder sonstige Objekte, die auf dem Tabellenblatt platziert werden, nicht in SpreadsheetML-Dokumenten dargestellt werden.

Für die neue Office-Version 2007 hat Microsoft sowohl WordML als auch SpreadsheetML weiterentwickelt und auch eine XML-Sprache für das Programm PowerPoint entwickelt: PresentationML. In allen drei Anwendungen basieren nun auch die Standardspeicherformate DOCX, XLSX bzw. PPTX auf diesen XML-Sprachen, sodass sie sämtliche Funktionen der jeweiligen Applikation unterstützen müssen. Dabei handelt es sich um sogenannte Container-Formate, die mehrere XML-Dokumente in einer Container-Datei zusammenfassen. Während Word 2007 und PowerPoint 2007 neben diesen Standardausgabeformaten zusätzlich ein Speicherformat anbieten, das sämtliche Inhalte in einem XML-Dokument zusammenfasst (also keine Container-Formate), gibt es in Excel 2007 neben dem XLSX-Format nur die alte rudimentäre XML-Schnittstelle aus der Version 2003 als einziges XML-basiertes Format, das keinen Container darstellt. Das XLSX-Format ist durch die Zusammenfassung mehrerer Dokumente in einem Container dagegen erheblich komplexer geworden.

Zum Konzept der Offenlegung gehörte für Microsoft auch eine Standardisierung der neuen Formate. Nach kontroversen Diskussionen und Unregelmäßigkeiten bei der Normierung, gelang am 2. April 2008 die Standardisierung durch die Internationale Organisation für Normung (ISO) als ISO/IEC-Norm 29500:2008. Bereits im Dezember 2006 hatte die Normungsorganisation ECMA einen entsprechenden Standard als Ecma-Standard 376 genehmigt. Der Standard wird offiziell als Office Open XML (OOXML) bezeichnet und enthält neben den drei XML-Sprachen WordML, SpreadsheetML und PresentationML, die ergänzende Sprache DrawingML (für Zeichnungsobjekte) sowie das Open Packaging Conventions (OPC), das den inneren Aufbau der Container-Formate DOCX, XLSX bzw. PPTX beschreibt.

Die relativ neuen XML-Schnittstellen von Microsoft Excel bieten vor allem Unternehmen mit einer auf Datenbanken angelegten Datenbasis die Möglichkeit, ihre Daten in einen Excel-Output zu transferieren. Diese Möglichkeit besteht, da Datenbanken in der Regel ebenfalls über XML-Schnittstellen verfügen. Als Excel-Dokumente können die Daten dank der Verbreitung von Microsoft Office an Kunden weitergegeben oder für eine weitere Kalkulation verwendet werden.

Die Aufgabe des Entwicklers ist es somit, einen Transformations-Workflow zu entwerfen, der die XML-Ausgabe einer Datenbank in ein passendes XML-Dokument konvertiert, das den Vorgaben des OOXML-Standards entspricht. Genauer gesagt, müssen mehrere XML-Dokumente erzeugt werden, die zusammengefasst ein korrektes XLSX-Dokument darstellen. Als Werkzeug zur Transformation von XML-Daten zu XML-Daten ist die Sprache XSLT (eXtensible Stylesheet Language Transformation) am besten geeignet, da sie für genau diese Aufgaben entwickelt wurde.

 

Lesen Sie mehr zum Thema Excel & OOXML

Der Teil-Standard Open Packaging Conventions (OPC) beschreibt den inneren Aufbau des XLSX-Formates.

Die XML-Sprachen SpreadsheetML und DrawingML enthalten viele Besonderheiten, wie zum Beispiel die Darstellung grundlegender Tabellen-Funktionen von Excel (SpreadsheetML) oder die Platzierung von Bildern und Diagrammen auf einem Tabellenblatt (DrawingML).

 

  vor >>
  zum Seitenanfang >>

 

 

Tipp der data2type-Redaktion:
Zum Thema SpreadsheetML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: