SpreadsheetML

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

SpreadsheetML ist eine von Microsoft für Microsoft Excel ab Version 2003 entwickelte XML-basierte Auszeichnungssprache für Tabellenkalkulationsdokumente. SpreadsheetML ist eine Weiterentwicklung des mit Microsoft Excel XP eingeführten, XML-basierten Dateiformats XML Spreadsheet[1].

Mit der Einführung von SpreadsheetML wird das Erstellen und Verarbeiten von Microsoft Excel-Dateien vereinfacht. Konkurrenzprodukte und Individualsoftware-Applikationen sollen SpreadsheetML-Dokumente erstellen, einlesen und verändern können, ohne auf Microsoft Excel-Funktionen zugreifen zu müssen.[2].

Zurzeit existieren zwei Versionen von SpreadsheetML, die Version 2003 und die Version, die Bestandteil der ISO/IEC-Norm 29500:2008 (Office Open XML) ist.

SpreadsheetML 2003[Bearbeiten]

SpreadsheetML 2003-Dokumente werden in einer (1) unkomprimierten XML-Datei gespeichert. Diese Dateien bestehen im Wesentlichen aus vier Teilen:

  • Allgemeine Dokumenteigenschaften (DocumentProperties)
  • Applikationsspezifische Dokumenteigenschaften (WorkBook)
  • Formatvorlagen (Styles)
  • Tabellenblätter (Worksheet)

SpreadsheetML 2003 unterstützt nicht die gesamte Microsoft Excel-Funktionalität, es fehlt unter anderem die Unterstützung von Diagrammen, Grafiken und OLE-Objekten.[3]

Beispiel[Bearbeiten]

Anzeige am Bildschirm (die Zelle A3 enthält SUMME der beiden darüberliegenden Zellen):

A
1 1
2 1
3 2

Dateiinhalt (gekürzt):

<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
          xmlns:o="urn:schemas-microsoft-com:office:office"
          xmlns:x="urn:schemas-microsoft-com:office:excel"
          xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
    <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
        <Author>N.N.</Author>
        <LastAuthor>N.N.</LastAuthor>
        <Created>2006-08-30T12:00:00Z</Created>
        <Company>-</Company>
        <Version>11.8036</Version>
    </DocumentProperties>
    <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
        <WindowHeight>13225</WindowHeight>
        <WindowWidth>19382</WindowWidth></ExcelWorkbook>
    <Styles>
        <Style ss:ID="Default" ss:Name="Normal">
            <Alignment ss:Vertical="Bottom"/>
            <Borders/>
            <Font/>
            <Interior/>
            <NumberFormat/>
            <Protection/>
        </Style>
    </Styles>
    <Worksheet ss:Name="Tabelle1">
        <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="3" x:FullColumns="1"
               x:FullRows="1" ss:DefaultColumnWidth="66.206896551724142"
               ss:DefaultRowHeight="13.241379310344827">
            <Row>
                <Cell>
                    <Data ss:Type="Number">1</Data>
                </Cell>
            </Row>
            <Row>
                <Cell>
                    <Data ss:Type="Number">1</Data>
                </Cell>
            </Row>
            <Row>
                <Cell ss:Formula="=SUM(R[-2]C:R[-1]C)">
                    <Data ss:Type="Number">2</Data>
                </Cell>
            </Row>
        </Table>
        <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
            <PageSetup>
                <Header x:Margin="0.4921259845"/>
                <Footer x:Margin="0.4921259845"/>
                <PageMargins x:Bottom="0.984251969" x:Left="0.78740157499999996"
                             x:Right="0.78740157499999996" x:Top="0.984251969"/>
            </PageSetup>
            <Selected/>
            <Panes>
                <Pane>
                    <Number>3</Number>
                    <ActiveRow>3</ActiveRow>
                </Pane>
            </Panes>
            <ProtectObjects>False</ProtectObjects>
            <ProtectScenarios>False</ProtectScenarios>
        </WorksheetOptions>
    </Worksheet>
    <Worksheet ss:Name="Tabelle2"></Worksheet>
    <Worksheet ss:Name="Tabelle3"></Worksheet>
</Workbook>

Standardisierung und Lizenzierung[Bearbeiten]

Rechtshinweis Bitte den Hinweis zu Rechtsthemen beachten!

SpreadsheetML 2003 wurde von keiner Normungsorganisation standardisiert, ist also kein herstellerunabhängiger Standard.

Eine vollständige Dokumentation ist im Rahmen der Office 2003: XML Reference Schemas (englisch) öffentlich verfügbar.

Microsoft gewährt eine immerwährende, gebührenfreie Lizenz zur Verwendung von SpreadsheetML[4]. In einem covenant not to sue hat Microsoft erklärt, dass es unwiderruflich auf eine Durchsetzung aller für eine konforme Umsetzung der Office 2003 XML Reference Schemas-Spezifikation notwendigen Patente gegenüber Programmteilen, die diese Spezifikation implementieren, verzichtet[5]. Dies gilt nicht für Patentansprüche Dritter.

Verbreitung[Bearbeiten]

SpreadsheetML 2003 wird unter anderem von Microsoft Excel 2003, dem Microsoft Excel Viewer 2003, OpenOffice.org und Gnumeric unterstützt.

Office Open XML SpreadsheetML[Bearbeiten]

Office Open XML SpreadsheetML ist eine neue Version von SpreadsheetML, die Bestandteil des Office Open XML-Standards ist. Die Standardisierung erfolgte im Rahmen des technischen Komitees 45 (TC45) von Ecma International sowie innerhalb von ISO/IEC. Diese Auszeichnungssprache ist eine Weiterentwicklung von SpreadsheetML 2003.

Quellen[Bearbeiten]

  1. Microsoft Knowledge Base: INFO: Microsoft Excel 2002 and XML (englisch)
  2. Microsoft: Bringing the XML Vision to the Desktop with Office 2003
  3. Microsoft: Features and limitations of XML Spreadsheet format in Excel
  4. Microsoft: Clarification of License Terms for Office XML Schema (englisch)
  5. Microsoft: Microsoft Covenant Regarding Office 2003 XML Reference Schemas

Weblinks[Bearbeiten]