SpreadsheetML

aus Wikipedia, der freien Enzyklopädie

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

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

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

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

Eine vollständige Dokumentation ist öffentlich verfügbar.[4]

Microsoft gewährt eine immerwährende, gebührenfreie Lizenz zur Verwendung von SpreadsheetML.[5] 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.[6] Dies gilt nicht für Patentansprüche Dritter.

Verbreitung

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

Office Open XML SpreadsheetML

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.

Weblinks

Einzelnachweise