Visuelle Erklärungen
Was steckt in einer Excel-Datei?
Von den binären BIFF-Records der .xls über das ZIP-Paket der .xlsx bis zu CSV: Hier öffnest du die Formate Byte für Byte – mit Debugger, Hex-Ansicht, XML-Generator und Rechnern. Alles läuft im Browser, alle Beispieldaten sind erfunden.
🔍Welches Format ist das?
Container von .xls (BIFF5/BIFF8), aber auch .doc, .ppt, .msg und vbaProject.bin – welcher Inhalt, verrät erst das Verzeichnis (Stream „Workbook“ = BIFF8, „Book“ = BIFF5).
Hervorgehoben: die 8 Byte, an denen die Erkennung hängt.
📚 Quelle: [MS-CFB] 2.2 (Header-Signatur), ZIP-Spezifikation APPNOTE 4.3.7 (lokaler Datei-Header), OASIS ODF 1.2 Teil 3 §3.3 (mimetype), OpenOffice.org „Excel File Format“ (BIFF2–4-BOF).
🧬Alt und neu auf einen Blick
ALT: umsatz.xls (Excel 97–2003) NEU: umsatz.xlsx (seit Excel 2007)
┌──────────────────────────────────────────┐ ┌──────────────────────────────────────────┐
│ Compound File D0 CF 11 E0 A1 B1 1A E1 │ │ ZIP-Archiv 50 4B 03 04 ("PK") │
│ ├─ Header (512 Byte), FAT, Verzeichnis │ │ ├─ [Content_Types].xml │
│ ├─ Stream "Workbook" ◄── BIFF8 │ │ ├─ _rels/.rels │
│ │ BOF · CODEPAGE · BOUNDSHEET · SST │ │ ├─ docProps/core.xml, app.xml │
│ │ EOF · BOF · LABELSST · RK · … EOF │ │ └─ xl/ │
│ ├─ Stream "\x05SummaryInformation" │ │ ├─ workbook.xml │
│ └─ Storage "_VBA_PROJECT_CUR" (Makros) │ │ ├─ worksheets/sheet1.xml │
│ │ │ ├─ sharedStrings.xml │
│ binär · 65 536 × 256 (IV) │ │ └─ styles.xml │
│ │ │ │
│ │ │ XML · 1 048 576 × 16 384 (XFD) │
└──────────────────────────────────────────┘ └──────────────────────────────────────────┘unzip und einem Texteditor lässt sich alles ansehen.🕰️Zeitleiste der Formate
Unicode (UTF-16), Shared String Table, 65 536 × 256, Stream „Workbook“. Bis Excel 2003 Standard.
📚 Quelle: OpenOffice.org „Excel File Format“ (BIFF-Versionen), ECMA-376 1st edition (12/2006), ISO/IEC 29500:2008, OASIS OpenDocument 1.0 (05/2005), Microsoft Open Specifications ([MS-XLS], 2008).
🗺️Kapitel
OLE2-Container mit Sektoren und FAT, Record-Stream-Debugger mit Hex und Deutung, RK-Zahlen-Decoder.
Paketbaum, Beziehungen, Zellen→XML-Editor mit sheet1.xml und sharedStrings.xml, Stile und Zahlenformate.
A1 ↔ Spaltennummer bis XFD, Seriennummern im 1900- und 1904-System inkl. Lotus-Fehler.
Makros in vbaProject.bin, BIFF12-Records mit variabler Länge, Vorlagen – was sich im Paket unterscheidet.
Trennzeichen, Dezimalkomma, UTF-8 und BOM, SpreadsheetML 2003, OpenDocument und die große Vergleichstabelle.
unzip -l, LibreOffice headless, openpyxl, xlrd, olevba – und alle Spezifikationen zum Nachlesen.