ToolActToolAct

Excel-zu-JSON-Konverter

Laden Sie eine Excel-Datei hoch, um Tabellendaten in das JSON-Format zu konvertieren

Excel-Datei hier ablegen oder klicken zum Auswählen

Was ist Excel zu JSON?

Excel zu JSON ist ein Online-Datenformat-Konvertierungstool, das Microsoft Excel (.xlsx/.xls) Tabellendaten in das JSON (JavaScript Object Notation) Format konvertiert.

Excel ist die weltweit beliebteste Tabellenkalkulationssoftware und wird häufig für Datenspeicherung, Analyse und Berichterstellung verwendet. JSON ist das am häufigsten verwendete Datenaustauschformat in modernen Webanwendungen und APIs, bekannt für seine klare Struktur und einfache Analyse.

Mit diesem Tool können Sie Excel-Tabellendaten schnell in JSON-Arrays konvertieren, die in der Programmierung, Datenanalyse und Webentwicklung verwendet werden können. Die gesamte Verarbeitung erfolgt lokal in Ihrem Browser und gewährleistet Datensicherheit.

Besonders bei produktiven Daten oder Codebasen sollte das Ergebnis anschließend mit Parser, Tests oder Projektregeln geprüft werden.

So geht's

So geht's

  1. Klicken Sie auf den Upload-Bereich oder ziehen Sie eine Excel-Datei per Drag & Drop hinein (.xlsx und .xls werden unterstützt)
  2. Sind mehrere Tabellenblätter vorhanden, wählen Sie das gewünschte über das Dropdown-Menü aus
  3. Legen Sie fest, ob die erste Zeile als Feldnamen für die JSON-Objekte dienen soll
  4. Die formatierten JSON-Daten werden automatisch erzeugt und können direkt kopiert werden

Hinweise zu Tabellenkalkulationen

  • Überprüfen Sie das gewählte Tabellenblatt, die Kopfzeile, verbundene Zellen, leere Zeilen und Datumsformate, bevor Sie das JSON weiterverwenden.
  • Tabellenkalkulationen mischen häufig Anzeigeformatierung mit Rohwerten – kontrollieren Sie Zahlen und Datumsangaben nach der Konvertierung.

Anwendungsfälle

Ein Arbeitsblatt in JSON für die Entwicklung umwandelnEine .xlsx- oder .xls-Datei laden, das Arbeitsblatt auswählen und es in formatiertes JSON für Mockdaten, Stammdaten, Dropdown-Optionen, Lokalisierungsentwürfe oder API-Beispiele konvertieren. Die Datei wird vollständig im Browser über die SheetJS-Bibliothek eingelesen und geparst – Kunden-, HR- oder interne Finanztabellen verlassen das Gerät während der Konvertierung nie.
Steuern, ob die erste Zeile zu Objektschlüsseln wirdDie Option „Erste Zeile als Header“ umschalten, um zwischen einem Objekt-Array mit Spaltennamen als Schlüssel und einem Array-Export mit Spaltenposition als Index zu wechseln. Anschließend die Zeilen- und Feldzahlen nutzen, um unerwartete Leerspalten oder die falsche Blattauswahl zu erkennen. Das eignet sich als kontrollierter Zwischenschritt, bevor die Ausgabe ins eigentliche Ziel eingefügt wird.
Tabellenparsing lokal für kleine Datenaufgaben haltenDie Seite liest das Arbeitsblatt im Browser mit SheetJS ein und kopiert die Ausgabe direkt. Sie eignet sich am besten für prüfbare Tabellen, nicht für riesige Dateien, Formelneuberechnung, Makros, Pivot-Caches oder geschützte Arbeitsbuchlogik. Vor der Verwendung des JSON als verbindliche Quelle eine kurze Plausibilitätsprüfung im Zielsystem durchführen.
Formelwerte und gespeicherte Zeichenfolgen unterscheidenSheetJS gibt den letzten zwischengespeicherten Wert einer Formel im Browser aus – eine Spalte voller berechneter Summen erscheint in JSON als reine Zahlen, und Zellen mit veralteten Caches können von der aktuellen Excel-Anzeige abweichen. Vor der Verwendung als verbindliche Quelle eine kurze Prüfung auf unerwartete Nullen oder übereinstimmende Zeichenfolgen durchführen und das Arbeitsbuch erneut speichern, wenn Formeln nach dem letzten Speichern hinzugefügt wurden.
Die Kopfzeile prüfen, bevor das Schema brichtWenn „Erste Zeile als Header“ aktiviert ist, erzeugen doppelte oder leere Spaltennamen ungültige JSON-Schlüssel – manche Schlüssel werden automatisch umbenannt. Das JSON öffnen, nach 'undefined' oder numerischen Suffixen suchen und das Quellenblatt bereinigen, wenn Schlüssel über Re-Importe hinweg stabil bleiben müssen, insbesondere für TypeScript-Schnittstellen oder die GraphQL-Schema-Generierung im Nachgang.

Technisches Prinzip

Moderne .xlsx-Arbeitsmappen sind SpreadsheetML-Dateien, definiert durch ECMA-376 / ISO/IEC 29500 (der Office-Open-XML-Standard): Die .xlsx-Erweiterung ist ein ZIP-Container, dessen Einträge XML-Dokumente unter xl/worksheets/sheetN.xml sind, wobei Zeichenfolgen in einer gemeinsamen Zeichentabelle xl/sharedStrings.xml gespeichert und Zellentypen durch das t-Attribut deklariert werden (s = SharedString, n = Number, b = Boolean, str = Inline-String, d = Date im ISO 8601-Format). Die Seite liest die hochgeladene Datei mit FileReader.readAsArrayBuffer und übergibt das ArrayBuffer an SheetJS (xlsx). XLSX.read(buffer, {type: 'array'}) gibt ein Workbook-Objekt zurück, dessen SheetNames-Array den Blattauswahl steuert, und XLSX.utils.sheet_to_json(sheet, options) durchläuft das Zellengitter, um entweder ein Array-of-Objects (mit der Header-Zeile als Schlüssel) oder ein Array-of-Arrays bei header: 1 zu erzeugen. Das veraltete .xls ist das binäre BIFF8-Format (Excel 97–2003), das SheetJS ebenfalls über den gleichen read()-Einstiegspunkt dekodiert, jedoch mit type: 'binary' für FileReader.readAsBinaryString oder 'array' beim Lesen als Bytes. Zelldatums-Werte werden in beiden Formaten als Seriennummern gespeichert (Tage seit der 1900-Epoche in Excel, mit dem historischen 1900-02-29-Schaltjahresbug, der Daten vor 1900-03-01 um einen Tag verschiebt, oder Tage seit 1904-01-01, wenn die Arbeitsmappe das Date1904-Flag unter Excel für Mac gesetzt hat). Die Umrechnung in ein JavaScript-Date ist (Seriennr. - 25569) * 86400 * 1000 Millisekunden nach dem Unix-Epoch für das 1900-System, sofern der Schaltjahresbug berücksichtigt ist. Formeln stehen im f-Attribut, und SheetJS meldet ihr letztes zwischengespeichertes Ergebnis in v; wenn die Arbeitsmappe von einem Werkzeug gespeichert wurde, das nicht neu berechnet hat (z. B. einige skriptgestützte Exporte), kann v fehlen oder veraltet sein. Wenn die erste Zeile als Header verwendet wird, erzwingen doppelte oder leere Header-Zellen, dass SheetJS Schlüssel entweder überspringt oder automatisch umbenennt (z. B. __EMPTY, __EMPTY_1), was nachgelagerte JSON-Verträge bricht. Verbundene Zellbereiche (deklariert in worksheet/mergeCells) legen den Wert nur am Anker links oben frei und geben undefined in den nachfolgenden Zellen der Zusammenführung aus, sodass eine verbundene Titelzeile einen gefüllten Datensatz gefolgt von N - 1 leeren Datensätzen erzeugt. Bei Arbeitsmappen über einigen Megabyte kann der synchrone XLSX.read()-Pfad den UI-Thread blockieren; die Streaming-Alternative besteht darin, die Analyse in einen Web Worker zu verlagern, damit der Hauptthread responsiv bleibt.

  • .xlsx ist ein ZIP-Container aus XML (ECMA-376 / ISO/IEC 29500); .xls ist das binäre BIFF8-Format; SheetJS XLSX.read(buffer, {type: 'array'}) behandelt beides über FileReader.readAsArrayBuffer.
  • sheet_to_json-Optionen: header: 1 gibt Array-of-Arrays zurück; header: 'A' verwendet Tabellenspaltenbuchstaben; defval: null füllt leere Zellen mit null statt den Schlüssel zu entfernen; raw: false wendet Excel-Anzeigeformatierung an.
  • Excel-Datumsserie ist Tage seit 1900-01-01 (mit dem 1900-02-29-Schaltjahresbug; für das Mac-1904-Datumsystem Tage seit 1904-01-01); JS-Date-ms = (Seriennr. - 25569) * 86400000 nach dem Unix-Epoch.
  • Doppelte oder leere Header-Zellen werden zu automatisch umbenannten Schlüsseln (__EMPTY, __EMPTY_1) oder kollidieren still; validieren Sie das JSON auf diese Zeichenfolgen, bevor Sie sich auf das Schema verlassen.
  • Verbundene Zellbereiche (worksheet.mergeCells) legen den Wert nur am Anker links oben frei; nachfolgende Zellen der Zusammenführung sind undefined, sodass eine verbundene Titelzeile einen Datensatz mit dem Wert und N-1 Datensätzen mit leeren Feldern ergibt.
  • Formelzellen speichern den Ausdruck in f und das letzte zwischengespeicherte Ergebnis in v; Werkzeuge, die ohne Neuberechnung speichern, hinterlassen v veraltet oder fehlend, und SheetJS gibt v unverändert zurück.
  • Verlagern Sie XLSX.read in einen Web Worker für Arbeitsmappen über ca. 10 MB; der synchrone Analysepfad blockiert requestAnimationFrame und kann den Tab bei großen Blättern für mehrere Sekunden einfrieren.

Beispiele

Mitarbeiter-Tabelle in JSON-Objekt-Array

Excel-Zeilen (Tabelle Staff):
id | name    | dept       | salary
1  | Alice   | Engineering| 8500
2  | Bob     | Sales      | 6200

JSON-Ausgabe:
[
  { "id": 1, "name": "Alice", "dept": "Engineering", "salary": 8500 },
  { "id": 2, "name": "Bob",   "dept": "Sales",       "salary": 6200 }
]

Arbeitsmappe mit mehreren Tabellen (orders.xlsx)

Tabellen der Arbeitsmappe: ["Customers", "Orders", "Products"]
Tabelle auswählen: Orders
Erste Zeile als Header verwendet: order_id, customer_id, total, date

Ergebnis: 1.284 Zeilen in JSON-Objekte konvertiert
Leere abschließende Zellen werden zu null, nicht zu leerem String

Excel-Datumszelle in ISO-8601-Zeichenkette

Zelle A2 (in Excel als Datum formatiert): 46173  (Excel-Seriennummer)
In Excel angezeigt: 2026-06-01

JSON-Ausgabe:
{ "order_date": "2026-06-01T00:00:00.000Z" }

Hinweis: Excel speichert Datumswerte als numerische Seriennummern; dieses Tool normalisiert sie zu ISO-Zeichenketten

Header mit Leerzeichen und chinesischen Zeichen

Header-Zeile: "Order No." | "客户姓名" | "金额 (USD)"

JSON-Schlüssel werden wortgetreu beibehalten:
{
  "Order No.": "A-1024",
  "客户姓名": "王小明",
  "金额 (USD)": 199.50
}

FAQ

Wird meine Excel-Datei hochgeladen?

Nein. Die .xlsx-, .xls- oder .csv-Datei wird im Browser per SheetJS verarbeitet. Die Bytes verlassen dein Gerät nicht. Du kannst das beim Laden einer Datei im Network-Tab nachprüfen.

Welche Excel-Funktionen überleben die Konvertierung?

Zellwerte, Datumsangaben (als ISO-Strings oder Excel-Seriennummern, je nach Option), Zahlen, Booleans und Text. Diagramme, Bilder, bedingte Formatierung, Formeln (nur der zwischengespeicherte Wert, nicht die Formel), Kommentare und verbundene Zellen werden verworfen oder vereinfacht.

Werden alle Tabellenblätter konvertiert?

Es wird nur das ausgewählte Blatt konvertiert. Wähle über das Dropdown, welches Blatt exportiert wird. Brauchst du mehrere Blätter, konvertiere sie nacheinander.

Wie werden Kopfzeilen und Zeilen auf JSON abgebildet?

Mit aktiver Option 'erste Zeile als Kopfzeile' ist das Ergebnis ein Array aus Objekten, mit den Kopfzellen als Schlüssel. Aus → ein Array von Arrays mit Zellwerten. Leere Zellen werden im Ergebnis zu null.

Wie werden Datumsangaben behandelt?

Excel speichert Datumsangaben als Seriennummern (Tage seit 1900). Die Seite wandelt sie standardmäßig in ISO-8601-Strings (2026-06-13) um. Schalte auf 'raw' um die Seriennummer zu behalten, was beim späteren Reimport in Excel hilfreich ist. Reine Zeitzellen werden zu Strings wie 'T14:30:00'.

Was ist mit Formeln?

Formeln werden nicht ausgewertet; nur der gecachte Berechnungswert (zuletzt von Excel gespeichert) wird verwendet. Brauchst du frische Formelresultate, öffne die Datei in Excel, lass neu berechnen (F9), speichere und lade dann erneut hoch.

Wie groß darf die Datei sein?

Der Browserspeicher ist die Grenze. Moderne Desktops bewältigen Arbeitsmappen bis zu einigen hundert MB. Für sehr große Dateien (> 1 Mio. Zeilen) nutze ein Desktop-Skripting-Tool (Python pandas, Excel Power Query) – dem Browser geht der Speicher aus.