JSON-zu-Excel-Konverter
JSONWandelt ein JSON-Array mit SheetJS in eine Excel-.xlsx-Arbeitsmappe um und lädt sie herunter.
Remote-URLs werden nicht abgerufen; fügen Sie Ihr JSON direkt ein.
Auf dieser Seite
Was ist ein JSON-zu-Excel-Konverter?#
Ein JSON-zu-Excel-Konverter nimmt ein JSON-Dokument, das wie eine Tabelle geformt ist — typischerweise ein Array ähnlicher Objekte — und erzeugt eine echte .xlsx-Arbeitsmappe, die Sie in Excel, Google Sheets oder LibreOffice öffnen können. Jedes Objekt wird zu einer Zeile, jeder Schlüssel der obersten Stufe zu einer Spalte, und die erste Zeile des Blatts ist die Kopfzeile. Die Ausgabe ist eine echte binäre Tabellendatei, keine umbenannte CSV.
Das schlägt die Brücke zwischen Systemen, die JSON sprechen (APIs, Logs, NoSQL-Exporte), und Menschen, die in Tabellenkalkulationen arbeiten. Ein Backend kann tausend Datensätze als JSON ausgeben; ein menschlicher Analyst möchte sie in Excel haben, um Pivotieren, Filtern und Diagrammen. Der Konverter verarbeitet auch die Unordnung, die echte Daten mit sich bringen: verschachtelte Objekte, Felder, die in einigen Zeilen vorhanden sind und in anderen nicht, und Array-Felder, die in einem Raster keinen natürlichen Platz haben.
Zwei Konventionen tragen die Hauptlast. Verschachtelte Objekte werden mit Punktnotations-Schlüsseln einebenen gemacht — {"address": {"city": "London"}} wird zu einer Spalte namens address.city. Array-Felder (und jedes Objekt, das Einebnen übersteht) werden in ihre Zelle stringifiziert als JSON-Text, weil eine Tabellenzelle einen Wert hält, keine verschachtelte Struktur. Das Ergebnis ist eine flache, rechteckige Tabelle, die Tabellenkalkulations-Software ohne Murren öffnet.
Verwendung#
- Fügen Sie ein JSON-Array von Objekten in die Eingabe-Fläche links ein. Ein einzelnes Objekt oder ein Objekt, das die Zeilen unter einem einzigen Schlüssel wie
{"data": [...]}zusammenfasst, wird ebenfalls akzeptiert. - Setzen Sie den Haken bei Verschachtelungen einebnen (standardmäßig an), um verschachtelte Objekte in Punktnotations-Spalten zu erweitern. Entfernen Sie den Haken, wenn Sie verschachtelte Objekte stattdessen als JSON-Text in einer einzelnen Zelle halten möchten.
- Die Ausgabe-Fläche zeigt eine tabulatorgetrennte Vorschau dessen, was exactly im Blatt landen wird — die Kopfzeile gefolgt von den Datenzeilen. Die Statuszeile meldet, wie viele Zeilen exportiert wurden.
- Klicken Sie auf Herunterladen .xlsx, um die Arbeitsmappe zu speichern. Die Datei wird in Ihrem Browser erzeugt und direkt heruntergeladen; es gibt keinen Server.
- Beispiel lädt einen kleinen Mitarbeiter-Datensatz; Leeren setzt beide Flächen zurück und deaktiviert die Download-Schaltfläche.
Eckpunkte#
- Eine echte .xlsx-Datei, keine umbenannte CSV. Die Arbeitsmappe wird mit SheetJS gebaut und als Binärdatei heruntergeladen, sodass Excel sie nativ mit korrekten Spalten, Typen und Blattstruktur öffnet.
- Stabile Spaltenreihenfolge bei unordentlichen Daten. Spalten werden als Vereinigung aller Schlüssel jeder Zeile berechnet, in der Reihenfolge des ersten Auftretens. Heterogene Zeilen verschieben oder verfehlen Spalten nicht — ein fehlendes Feld wird schlicht zu einer leeren Zelle.
- Einebnen mit Punktnotation. Verschachtelte Objekte erweitern sich zu benannten Spalten (
address.city,address.zip), sodass ihre inneren Werte im Blatt einzeln filterbar und sortierbar sind. - Tabulatorgetrennte Vorschau. Die Ausgabe-Fläche spiegelt den Blattinhalt exakt wider, sodass Sie die Form vor dem Download prüfen können.
- Rein clientseitig. Parsing, Einebnen und Arbeitmappen-Erzeugung laufen alle in Ihrem Browser. Die Daten verlassen niemals die Seite.
Konkretes Beispiel#
Laden Sie Beispiel und die Eingabe ist ein Array aus drei Mitarbeiterdatensätzen:
[
{ "id": 1, "name": "Ada Lovelace", "role": "Engineer", "salary": 95000, "skills": ["math", "logic"] },
{ "id": 2, "name": "Bob", "role": "PM", "salary": 120000, "skills": ["docs", "plan"] },
{ "id": 3, "name": "Grace", "role": "Architect", "salary": 150000, "skills": ["systems", "c", "cobol"] }
]
Alle drei Zeilen haben dieselben Schlüssel, deshalb sind die Spalten id, name, role, salary, skills in dieser Reihenfolge. Das Feld skills ist ein Array, deshalb wird es in jede Zelle stringifiziert. Die tabulatorgetrennte Vorschau lautet:
id name role salary skills
1 Ada Lovelace Engineer 95000 ["math","logic"]
2 Bob PM 120000 ["docs","plan"]
3 Grace Architect 150000 ["systems","c","cobol"]
Klicken Sie auf Herunterladen .xlsx und Sie erhalten eine Arbeitsmappe, deren erstes Blatt exakt diesen Inhalt hat, mit id / name / role / salary / skills als Kopfzeile. Von dort an behandelt Excel salary als Zahlen (sodass summiert und gemittelt wird) und skills als Text.
Würde eine vierte Zeile hinzugefügt, die salary auslässt, so würde der Konverter dennoch alle fünf Spalten ausgeben und einfach diese eine Zelle leer lassen — keine Spaltenverschiebungen, keine fehlausgerichteten Daten im Weiterverlauf.
FAQ#
Warum wird mein verschachteltes Objekt zu Spalten mit Punkten in ihren Namen?#
Das ist die Option Verschachtelungen einebnen. Ein Feld wie "address": {"city": "London", "zip": "NW1"} lässt sich nicht sinnvoll in eine Zelle pressen, deshalb wird es in die Spalten address.city und address.zip erweitert — jede einzeln in Excel filterbar und sortierbar. Schalten Sie die Option ab, wenn Sie lieber das gesamte Objekt als JSON-String in einer einzelnen address-Zelle halten möchten.
Warum erscheint mein Array als ["math","logic"] in der Zelle?#
Eine Tabellenzelle hält einen Wert, und ein JSON-Array ist eine verschachtelte Struktur, deshalb wird es zu JSON-Text serialisiert und als solcher in die Zelle gesetzt. Das hält die Daten verlustfrei — nichts wird verworfen — und Sie können sie später noch parsen. Wenn Sie jedes Array-Element in einer eigenen Zeile haben möchten, strukturieren Sie das Quell-JSON vor der Konvertierung um (ein Datensatz pro Element).
Meine Zeilen haben unterschiedliche Felder. Was passiert mit den Spalten?#
Der Konverter nimmt die Vereinigung aller Schlüssel über jede Zeile hinweg, in der Reihenfolge ihres ersten Auftretens, und verwendet das als Kopfzeile. Eine Zeile, der ein bestimmtes Feld fehlt, erhält dafür eine leere Zelle. Das Hinzufügen einer Zeile mit einem zusätzlichen manager-Feld fügt also schlicht eine manager-Spalte hinzu; Zeilen ohne sie bleiben leer, und nichts bereits Vorhandenes verschiebt sich.
Werden meine Daten irgendwohin hochgeladen, um die .xlsx zu erzeugen?#
Nein. Parsing, Einebnen und die SheetJS-Arbeitsmappen-Erzeugung laufen alle in Ihrem Browser ab. Der Download wird aus einem In-Memory-Buffer erzeugt und direkt an den Speichern-Dialog des Browsers übergeben — es gibt kein Backend und keine Netzwerkanfrage.