XLSX in JSON umwandeln

XLSX kannst du hier kostenlos und ohne Konto in JSON umwandeln: Datei oben ablegen, und ein, zwei Sekunden später steht das Ergebnis zum Herunterladen bereit. Die Umwandlung läuft in deinem eigenen Browser, die Datei wird also nie hochgeladen — das klappt unter Windows, macOS und Linux ebenso wie auf iPhone und Android, und es funktioniert selbst dann noch, wenn du das Netz abschaltest.

  • Wo es läuft In deinem Browser. Die Datei wird nicht hochgeladen.
  • Neu aufgebaut JSON funktioniert anders als XLSX. Es ist also nicht der schleichende Qualitätsverlust eines verlustbehafteten Codecs: Was JSON ausdrücken kann, wird originalgetreu wiedergegeben — was dort keine Entsprechung hat, bleibt ganz weg.
  • Größenbegrenzung Bis 100 MB pro Datei, kostenlos und ohne Konto.
  • Gut zu wissen Nur das erste Blatt wird gelesen, und davon nur die Werte. Formeln, Formatierung, Spaltenbreiten und jedes weitere Blatt bleiben zurück.

Bis zu 100 Dateien auf einmal. Gemischte Formate sind kein Problem.

Die Preisliste, die im Büro gepflegt wird und ins Shop-System muss

In vielen kleinen Betrieben — einem Handwerksunternehmen, einem lokalen Onlineshop, einer Praxis mit Terminkategorien — liegt die maßgebliche Fassung von Preisen, Leistungen oder Öffnungszeiten in einer Excel-Tabelle, gepflegt von jemandem, der kein Programmierer ist. Die Website oder das Shop-System braucht diese Angaben aber als Daten, die sich einlesen lassen, nicht als Tabelle zum Anschauen.

Das ist keine schlechte Arbeitsteilung: Excel ist eine gute Oberfläche zum Bearbeiten, und niemand baut für eine Handvoll Preise ein eigenes Verwaltungswerkzeug. Was fehlt, ist eine verlässliche Übersetzung an der Schnittstelle, und genau die liefert diese Seite.

Warum sich der Aufwand ab der zweiten Nutzung auszahlt

Beim ersten Mal ist der Weg über diese Seite ein einzelner zusätzlicher Klick. Wo er sich wirklich auszahlt, ist die Preisliste, die einmal im Monat aktualisiert und danach jedes Mal neu ins Shopsystem eingespielt wird — dort wird aus einem Handgriff eine wiederkehrende Aufgabe, und ein fester Ablauf verhindert, dass beim zehnten Mal ein Formatierungsfehler in der Tabelle unbemerkt ins JSON durchrutscht.

Für eine Website, die ohnehin bei jeder Preisänderung neu gebaut wird, lässt sich dieser Schritt später automatisieren; bis dahin ist die manuelle Umwandlung im Browser der schnellste Weg, ohne eine Zeile Code für ein Skript zu schreiben, das nur einmal im Monat läuft.

Aus einem Raster wird ein Array von Objekten

Die erste Zeile wird als Kopfzeile gelesen und liefert die Schlüsselnamen, jede folgende Zeile wird ein Objekt, jede Zelle darin ein Wert. Am Ende steht eine Liste von Datensätzen — genau die Form, die fast jede Website-Integration erwartet.

Die Kopfzeile verdient dabei einen bewussten Blick, denn ihre Zellen werden zu Feldnamen im Code. Kurz, kleingeschrieben, ohne Leerzeichen und Sonderzeichen macht sie angenehm zu verwenden; eine Spalte namens „Preis (netto, in €)" ergibt einen Schlüssel, den niemand zweimal tippen möchte.

Wo führende Nullen und Artikelnummern verloren gehen

Eine Artikelnummer, eine Postleitzahl oder eine als Zahl formatierte Kundennummer hat ihre führenden Nullen meist schon vor der Umwandlung verloren — Excel entfernt sie beim Eintippen oder beim Import, sobald die Zelle als Zahl gilt, und die Datei enthält dann schlicht die Zahl.

Ab fünfzehn Stellen verlieren Kennnummern zusätzlich ihre letzten Ziffern durch die Gleitkomma-Darstellung der Tabelle selbst. Kein Umwandler kann Informationen zurückholen, die die Datei nicht mehr enthält — die Lösung liegt vorher: Spalten mit Kennnummern in der Tabelle als Text formatieren, und das der Person sagen, die die Preisliste pflegt, statt es jedes Mal im Ergebnis zu reparieren.

Warum ein Datum als Zahl herauskommt

Excel speichert kein Datum, sondern eine Zahl, die Tage seit einem festen Ursprung zählt — die Formatierung sorgt nur dafür, dass daraus auf dem Bildschirm ein Datum wird. Die Umwandlung gibt zurück, was tatsächlich in der Datei steht, also die Zahl.

Zwei Wege führen zurück zu einem lesbaren Datum: die Spalte in der Tabelle als Text formatieren und ISO-Daten eintippen, was jede weitere Umwandlung übersteht, oder die Werte nach der Umwandlung per Skript zurückrechnen. Beides ist möglich; erst nach dem Livegang zu bemerken, dass Öffnungszeiten als fünfstellige Zahlen im JSON stehen, ist das, was vermieden werden soll.

Was eine Tabelle hat, das JSON nicht kennt

Formeln — und man bekommt ihre Ergebnisse, was fast immer das Gewünschte ist, denn ein Programm kann mit einer Formel nichts anfangen. Formatierung, Farben, Spaltenbreiten, all das sind keine Daten. Diagramme, Kommentare und verbundene Zellen haben keine Entsprechung.

Verbundene Zellen sind der Fall, den man im Blick behalten sollte. Eine über drei Spalten verbundene Überschrift ergibt einen Schlüssel mit Inhalt und zwei leere daneben — ein Datensatz, der aus einer eigentlich übersichtlichen Tabelle stammt und trotzdem merkwürdig aussieht. Flache Kopfzeilen, eine Zelle je Spalte, sind, was diese Umwandlung langweilig und damit zuverlässig macht.

Nur das erste Blatt, und warum das meistens reicht

Umgewandelt wird das erste Arbeitsblatt der Mappe. Enthält die Datei mehrere Tabellen, die alle gebraucht werden — etwa Preise auf dem einen Blatt und Kategorien auf dem anderen —, ist der zuverlässige Weg, sie in getrennte Dateien aufzuteilen und jede einzeln umzuwandeln, was die spätere Verarbeitung ohnehin klarer macht.

Das betrifft in der Praxis vor allem gewachsene Tabellen, in denen im Lauf der Zeit ein zweites Blatt für Sonderangebote oder Altbestände dazukam. Ein Blick auf die Reiter am unteren Rand vor der Umwandlung zeigt, ob das der Fall ist.

Wo die JSON-Datei im Ablauf landet

Die übliche Anordnung: die Tabelle bleibt die bearbeitbare Quelle, die Umwandlung zu JSON ist ein Arbeitsschritt, und die JSON-Datei wird neben dem übrigen Code eingecheckt. Änderungen an Preisen werden dadurch in einer Versionsverwaltung sichtbar und nachvollziehbar, ohne dass die Website zur Laufzeit auf eine Datei zugreift, die jemand verschieben könnte.

Zwei Gewohnheiten machen das über Monate hinweg belastbar: immer auf dieselbe Weise umwandeln, damit ein Vergleich echte Änderungen zeigt und keine zufällige Neuanordnung, und das Ergebnis vor dem Einchecken gegen ein festes Schema prüfen, damit eine umbenannte Spalte auffällt, statt still ein fehlendes Feld zu erzeugen.

Mehrere Tabellen aus verschiedenen Filialen auf einmal

Pflegt jede Filiale oder jeder Standort eine eigene Preistabelle, lassen sich bis zu 100 Dateien gleichzeitig ablegen, jede bis 100 MB in der kostenlosen Stufe, und alle JSON-Dateien kommen zusammen als ein ZIP zurück. Jede behält den Namen der Ausgangsdatei mit ausgetauschter Endung, was die spätere Zuordnung zur jeweiligen Filiale einfach hält.

Weil jede Datei einzeln im Browser gelesen und geschrieben wird, arbeitet die Umwandlung ohne Warteschlange — bei zehn Filialtabellen ist das der Unterschied zwischen einem Vorgang am Nachmittag und zehn einzelnen Klicks.

Warum ein Fehler in der Kopfzeile sich erst spät zeigt

Wird eine Spalte in der Excel-Tabelle nachträglich umbenannt — aus „Preis" wird „VK-Preis", weil die Buchhaltung eine einheitliche Bezeichnung wollte —, ändert sich stillschweigend auch der Schlüsselname im JSON. Ein Programm, das bislang nach `preis` gesucht hat, findet das Feld nicht mehr, meldet aber häufig keinen Fehler, sondern zeigt einfach nichts an.

Das ist kein Defekt der Umwandlung, sondern eine Folge davon, dass die Kopfzeile die einzige Quelle für die Feldnamen ist. Wer die Tabelle regelmäßig pflegt, sollte Spaltenüberschriften als feste Schnittstelle behandeln, die nicht ohne Rücksprache geändert wird — genau dafür lohnt sich die Validierung gegen ein festes Schema, die im vorherigen Abschnitt schon erwähnt wurde.

Wann CSV die bessere Wahl wäre

Geht die Datei in eine Datenbank, ein Analysewerkzeug oder eine Import-Maske, ist CSV meist die bessere Zwischenform: streambar, von jedem System lesbar, ohne eine Verschachtelung vorzugeben, die die Daten gar nicht haben.

JSON verdient seinen Platz, wenn das Ziel Anwendungscode ist — eine Website, eine Konfigurationsdatei, eine feste Datengrundlage für ein Frontend —, wo ein Array von Objekten genau das ist, was die Sprache erwartet und das Einlesen eine Zeile kostet. Die Wahl richtet sich danach, was die Datei liest, nicht danach, welches Format moderner wirkt.

Interne Preise bleiben auf dem eigenen Rechner

Die Umwandlung läuft im Browser-Tab auf dem eigenen Prozessor, es gibt kein Konto, keine Warteschlange, kein Tageslimit; die Obergrenze liegt bei 100 MB je Datei, hundert Dateien je Ablage.

Das ist bei diesen Tabellen kein Nebenaspekt. Preise, Margen, Kundenlisten oder ein Sortiment, das noch nicht öffentlich ist, gehen dabei nirgendwohin — die einfachste Form, niemandem etwas anvertrauen zu müssen, ist, es gar nicht erst zu verschicken.

XLSX in JSON umwandeln — so geht es

  1. Leg deine XLSX-Datei auf dieser Seite ab, oder klick, um eine auszuwählen.
  2. Wähl JSON als Ziel. Die Umwandlung läuft in deinem Browser, die Datei wird nicht hochgeladen.
  3. Lade die fertige JSON-Datei herunter.

XLSX und JSON im Vergleich: was sich ändert

XLSX im Vergleich zu JSON
XLSXJSON
Vollständiger NameExcel-ArbeitsmappeJavaScript Object Notation
Dateiendung.xlsx.json
Medientypapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetapplication/json
Erstmals veröffentlicht20072001
Herausgegeben vonMicrosoft
SpezifikationECMA-376RFC 8259
LizenzlageOffener StandardOffener Standard
Heutiger StandAktuellAktuell
Öffnet im BrowserKein BrowserJeder Browser
Stattdessen erwogenCSV, ODS, ParquetXML, YAML, NDJSON

Das Ergebnis öffnen

JSON öffnet sich in jedem aktuellen Browser. XLSX unterstützen noch weniger Browser. Wenn die Datei auf eine Webseite oder in ein Formular soll, ist das meist der ganze Grund für die Umwandlung.

Die üblichen Programme überschneiden sich nicht: XLSX öffnest du in Microsoft Excel, LibreOffice Calc und Google Sheets, JSON in Visual Studio Code, jq und Postman — wer das Ergebnis bekommt, braucht also eines aus der zweiten Reihe.

Wofür die beiden Formate gedacht sind

Die beiden zielen auf verschiedene Arbeit: XLSX auf die Bearbeitung, JSON auf den Austausch zwischen Programmen und das Web. Das lohnt sich vorher abzuwägen — der Grund, aus dem es das eine gibt, ist meist der Grund, aus dem das andere unpraktisch ist.

XLSX stammt von Microsoft und wurde 2007 veröffentlicht. Festgehalten ist das in ECMA-376 — lohnt sich zu kennen, wenn die Datei das Programm überleben soll, das sie geschrieben hat.

JSON stammt aus 2001, festgehalten in RFC 8259. Visual Studio Code, jq und Postman lesen das Format.

XLSX zu JSON: häufige Fragen

Werden meine XLSX-Dateien irgendwo hochgeladen?

Nein. Diese Umwandlung läuft vollständig in deinem Browser, die Datei verlässt dein Gerät also nicht. Du kannst das selbst nachprüfen: Öffne den Netzwerk-Tab der Entwicklerwerkzeuge und wandle etwas um. Zu sehen sind die Seite selbst und die Statistik- und Werbeanfragen, mit denen dieser Dienst bezahlt wird — und keine einzige, die deine Datei trägt. Hinter genau diesem Paar steckt SheetJS, ein Tabellenleser und -schreiber in JavaScript; dein Browser lädt das einmal und behält es dann.

Ist das Umwandeln von XLSX in JSON kostenlos?

Ja. Kein Konto, kein Wasserzeichen und kein Tageskontingent, das sich verbraucht — es läuft auf deinem eigenen Rechner, du darfst also so oft wiederkommen, wie du willst. Dateien bis 100 MB verarbeitet der Browser, 100 auf einmal. SheetJS wird auf deinen Rechner geladen und läuft dort — deshalb gibt es dafür keine Zählung.

Geht beim Umwandeln von XLSX in JSON Qualität verloren?

XLSX und JSON beschreiben Inhalte auf grundverschiedene Weise. Die Umwandlung ist deshalb ein Nachbau und keine Kopie: originalgetreu, aber nicht Byte für Byte dasselbe. Nur das erste Blatt wird gelesen, und davon nur die Werte. Formeln, Formatierung, Spaltenbreiten und jedes weitere Blatt bleiben zurück.

Muss ich etwas installieren, um JSON-Dateien zu öffnen?

Für die Umwandlung selbst nicht — sie läuft in dem Browser, den du ohnehin offen hast. Zum Öffnen brauchst du danach das Programm, das auf deinem Gerät üblicherweise JavaScript Object Notation anzeigt.

Mehr über diese Formate