NDJSON in XLSX umwandeln

NDJSON kannst du hier kostenlos und ohne Konto in XLSX 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 XLSX funktioniert anders als NDJSON. Es ist also nicht der schleichende Qualitätsverlust eines verlustbehafteten Codecs: Was XLSX 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 Verschachtelte Objekte werden zu Spalten flachgeklopft. Tief verschachtelte Daten verlieren dabei ihre Struktur.

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

Wenn am Ende ein Mensch die Datei öffnet, nicht ein System

Ein Auszug aus einem Warenwirtschaftssystem oder einem Log geht bei den meisten Empfängern an ein Skript oder eine Datenbank. Geht er stattdessen an eine Steuerberaterin, einen Wirtschaftsprüfer oder eine Controlling-Abteilung, die in Excel arbeitet, ist eine Arbeitsmappe die passendere Übergabe als eine reine Textdatei.

Der Unterschied zeigt sich beim Öffnen: Eine XLSX-Datei erspart genau das Gespräch, das nach einer CSV-Datei folgt — warum die Bestellnummer plötzlich eine Dezimalzahl ist oder warum die führende Null aus der Kundennummer verschwunden ist.

Feste Zelltypen sind der eigentliche Gewinn

Eine Textdatei kennt keine Typen; Excel rät beim Öffnen, was jede Spalte ist, und genau dabei passiert der bekannte Schaden — führende Nullen verschwinden, ein datumsähnlicher Wert wird zum Datum, eine lange Kennnummer verliert ihre letzten Stellen an eine Gleitkommazahl.

Die Datensätze in einer NDJSON-Datei tragen ihren Typ dagegen schon in sich: eine Menge ist eine Zahl, ein Kennzeichen ein Wahrheitswert, eine als Text exportierte Kennnummer bleibt Text. Diese Unterscheidung wird beim Schreiben in die Arbeitsmappe übernommen, sodass eine Kennnummer wie 00714 tatsächlich als 00714 ankommt.

Verschachtelte Felder werden zu Spalten mit Punkt im Namen

Ein Feld, dessen Wert ein Objekt ist, wird zu je einer Spalte pro Blattwert, benannt nach dem Pfad: Ein verschachteltes Kundenobjekt mit einem Namen ergibt eine Spalte kunde.name. Ein Array wird entsprechend nach Position aufgeteilt, tags.0 und tags.1 für eine Liste mit zwei Einträgen.

Das macht die Tabelle breiter, als die Zahl der eigentlichen Felder vermuten lässt. Ein Ereignisdatensatz mit einem Request-, einem Nutzer- und einem Kontextblock kann aus sechs Feldern dreißig Spalten machen — für den Empfänger lohnt es sich, vorher mit einem Werkzeug wie jq nur die relevanten Felder herauszuziehen.

Genau ein Arbeitsblatt, benannt nach der Datei

Die Arbeitsmappe hat ein einziges Blatt, weil eine zeilenweise Datei ein einzelner Datenstrom ohne innere Unterteilung ist, auf die sich mehrere Reiter abbilden ließen. Der Name des Blatts stammt aus dem Dateinamen ohne Endung, gekürzt auf die 31 Zeichen, die ein Blattname erlauben darf.

Enthält der Export tatsächlich mehrere Arten von Datensätzen — etwa drei verschiedene Ereignistypen in einer Log-Datei —, ist es meist lesbarer, die Quelldatei vorher zu trennen und mehrere Arbeitsmappen zu erzeugen, als eine einzige breite Tabelle mit einer Unterscheidungsspalte anzubieten.

Zeilen mit unterschiedlichen Feldern ergeben eine lückenhafte Tabelle

Jede Zeile der Quelldatei steht für sich, und nichts verlangt, dass die zweite dieselben Felder hat wie die erste. Die Umwandlung sammelt jeden Schlüssel, der irgendwo in der Datei vorkommt, und legt dafür eine Spalte an — fehlt der Wert in einer Zeile, bleibt die Zelle leer.

Nichts geht dabei verloren, aber eine Datei mit drei gemischten Ereignistypen ergibt eine Tabelle, in der jede Zeile nur ein Drittel der Spalten nutzt. Für den Empfänger wirkt das wie ein defekter Export, obwohl er vollständig ist — das Filtern nach einem Ereignistyp vor dem Umwandeln lohnt sich fast immer.

Zeilenzahl, und was eine Tabelle noch angenehm macht

Eine Zeile der Quelldatei wird zu einer Zeile im Blatt, die Gesamtzahl also die Zeilenanzahl abzüglich leerer Zeilen. Wer das vorab wissen will, zählt die Zeilen der Ursprungsdatei, etwa mit wc -l oder der Zeilennummer am Ende eines Editors.

Ein paar tausend Zeilen öffnen sich sofort und lassen sich angenehm bearbeiten; mehrere hunderttausend Zeilen öffnen langsam, filtern langsam und werden von manchem E-Mail-System als Anhang abgelehnt. Ab einer bestimmten Größe lohnt sich eine Verdichtung vor der Umwandlung — eine Zusammenfassung pro Tag oder pro Kunde statt jeder Einzelzeile. Weil das Blatt vollständig im Arbeitsspeicher des eigenen Geräts entsteht, ist genau dieser Speicher die tatsächliche Grenze, nicht eine von dieser Seite gesetzte Zahl.

Ein kurzer Blick, bevor die Datei versendet wird

Zwei Prüfungen dauern zusammen eine Minute: die Spaltenzahl anschauen — deutlich mehr Spalten als erwartete Felder bedeutet meist ein verschachteltes Objekt oder ein aufgelöstes Array — und die Kennnummern- und Datumsspalten kontrollieren, ob sie so aussehen, wie sie sollen.

Ein Blick in den Inhalt selbst lohnt sich ebenso. Ein zeilenweiser Export aus einem System enthält meist jedes Feld, das das System überhaupt ausgibt — interne Kennungen, technische Flags, gelegentlich eine E-Mail-Adresse, die dort niemand erwartet hätte. In einer Tabelle fällt das eher auf als in einer Log-Datei, und besser vorher als nachdem die Datei die eigene Organisation verlassen hat.

Zahlen und Zeitstempel kommen an, wie sie geschrieben wurden

Werte werden genau so übernommen, wie der Datensatz sie enthielt, ohne Rundung oder Anpassung an ein Zahlenformat. Ein Preis von 12.5 landet als die Zahl 12,5 in der Zelle, dargestellt nach der lokalen Einstellung von Excel — und ein als ISO-Zeitstring exportierter Zeitstempel bleibt Text, nicht Excel-Datum.

Das ist Absicht, keine Lücke: Ein ISO-Zeitstempel ist im JSON Text, und ihn automatisch in ein Excel-Datum umzuwandeln würde eine Zeitzone erraten, die niemand angegeben hat. Wer sortierbare Datumswerte braucht, löst das in der Arbeitsmappe selbst — mit einer Formel oder Text-in-Spalten, einmal von jemandem gemacht, der die Zeitzone der Quelle tatsächlich kennt.

Die Arbeitsmappe entsteht auf dem eigenen Gerät

Sowohl das Einlesen der Zeilen als auch das Schreiben der Arbeitsmappe laufen im Browser-Tab. Nichts wird hochgeladen, ein Konto ist nicht nötig, und die freie Grenze liegt bei 100 MB — der Arbeitsspeicher des eigenen Geräts ist die tatsächliche Obergrenze.

Bei einem Auszug, der ohnehin gleich per E-Mail an eine externe Stelle geht, ist das mehr als eine Formalität: Ein Umweg über einen fremden Online-Dienst würde bedeuten, dass die Daten zwei Empfänger erreichen statt eines. Hier bleibt es bei dem einen, den man tatsächlich meinte.

Mehrere Exporte in einem Durchgang

Bis zu hundert Dateien lassen sich gleichzeitig ablegen, jede wird zu einer eigenen Arbeitsmappe. Das ist praktisch, wenn regelmäßig mehrere Auszüge entstehen — etwa ein NDJSON-Export pro Abteilung oder pro Zeitraum —, die alle auf demselben Weg zu einer Excel-Datei werden sollen.

Weil keine Serverkapazität dabei verbraucht wird, gibt es keine Warteschlange zwischen den Dateien, und ein Auftrag, der die hundert Dateien überschreitet, wird beim Ablegen still auf die ersten hundert begrenzt — der Rest muss in einem zweiten Durchgang folgen.

Warum nicht gleich CSV, wenn eine Tabelle das Ziel ist

CSV ist die schlichtere Wahl derselben Idee, hat aber genau die Schwäche, die diese Umwandlung vermeidet: Eine Textdatei kennt keine Zelltypen, sodass Excel beim Öffnen selbst entscheidet, was jede Spalte ist — und dabei verschwinden führende Nullen und werden datumsähnliche Werte zu echten Daten.

Für einen Auszug, der weiterverarbeitet oder in ein anderes System eingelesen wird, ist CSV trotzdem oft die praktischere Form, weil sie kleiner ist und von so gut wie jedem Werkzeug gelesen wird. Für einen Auszug, der ein Mensch in Excel öffnet und dem er auf den ersten Blick vertrauen soll, ist die Arbeitsmappe die verlässlichere Übergabe.

Wann CSV oder die NDJSON-Datei selbst besser passt

Geht der Auszug an ein System oder ein Skript, ist eine CSV-Datei die passendere Wahl — oder die NDJSON-Datei selbst, wenn die Empfängerin oder der Empfänger technisch arbeitet und die Struktur ohnehin braucht. Eine Arbeitsmappe lohnt sich vor allem dann, wenn jemand die Daten heute anschauen will, ohne etwas zu installieren.

Für die deutsche Zusammenarbeit mit Steuerberatung oder Wirtschaftsprüfung ist genau das der übliche Fall: eine Auswertung, die noch am selben Tag geprüft werden muss, und eine Tabelle, deren Spalten auf den ersten Blick Sinn ergeben.

NDJSON in XLSX umwandeln — so geht es

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

NDJSON und XLSX im Vergleich: was sich ändert

NDJSON im Vergleich zu XLSX
NDJSONXLSX
Vollständiger NameNewline-Delimited JSONExcel-Arbeitsmappe
Dateiendung.ndjson, .jsonl.xlsx
Medientypapplication/x-ndjsonapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Erstmals veröffentlicht20132007
Herausgegeben vonMicrosoft
SpezifikationECMA-376
LizenzlageOffener StandardOffener Standard
Heutiger StandAktuellAktuell
Öffnet im BrowserKein BrowserKein Browser
Stattdessen erwogenJSON, CSVCSV, ODS, Parquet

Das Ergebnis öffnen

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

Wofür die beiden Formate gedacht sind

Die beiden zielen auf verschiedene Arbeit: NDJSON auf den Austausch zwischen Programmen und das Streaming, XLSX auf die Bearbeitung. 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 kommt von Microsoft und stammt aus 2007, festgehalten in ECMA-376. Microsoft Excel, LibreOffice Calc und Google Sheets lesen das Format.

NDJSON zu XLSX: häufige Fragen

Werden meine NDJSON-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 NDJSON in XLSX 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 NDJSON in XLSX Qualität verloren?

NDJSON und XLSX beschreiben Inhalte auf grundverschiedene Weise. Die Umwandlung ist deshalb ein Nachbau und keine Kopie: originalgetreu, aber nicht Byte für Byte dasselbe. Verschachtelte Objekte werden zu Spalten flachgeklopft. Tief verschachtelte Daten verlieren dabei ihre Struktur.

Muss ich etwas installieren, um XLSX-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 Excel Workbook anzeigt.

Mehr über diese Formate