CSV → Excel

CSV zu .xlsx mit Trennzeichen-Erkennung. Kostenlos, ohne Upload. max. 1 GB · Bis zu 1 GB · Lokal verarbeitet, nie an einen Server gesendet.

Der Export aus einem Kassensystem, aus dem Onlinebanking, aus einem Shop oder aus einem CRM kommt fast immer als CSV-Datei. Per Doppelklick in Excel geöffnet, steht er manchmal sauber in Spalten, manchmal vollständig in Spalte A, manchmal mit zerlegten Umlauten. Wie es ausgeht, hängt von der Excel-Version, vom verwendeten Trennzeichen und von den Regionaleinstellungen des Rechners ab: Dieselbe Anlage öffnet sich bei zwei Empfängern nicht gleich. Im deutschsprachigen Raum trifft es besonders die Exporte englischsprachiger Programme, denn Excel erwartet hier das Semikolon als Listentrennzeichen und liest das Komma als Dezimalzeichen.

Dieses Werkzeug erzeugt eine echte .xlsx-Arbeitsmappe, die überall gleich aufgeht. Die Datei wird gelesen, das Trennzeichen an den ersten zehn Zeilen bestimmt, die Tabelle von SheetJS aufgebaut, die Spaltenbreiten angepasst und die Mappe geschrieben. Welches Trennzeichen gewonnen hat und wie viele Zeilen und Spalten dabei herausgekommen sind, steht danach in der Ergebniszeile.

Die eigentliche Arbeit liegt aber woanders. Eine CSV-Datei ist Text ohne Typen: Nichts darin unterscheidet eine Postleitzahl von einer Zahl oder den 3. April vom 4. März. Die Umwandlung muss also an Ihrer Stelle entscheiden, und genau dort nehmen Daten Schaden. Die folgenden Abschnitte gehen diese Entscheidungen einzeln durch, mit den Werten, die tatsächlich dabei herauskommen.

So funktioniert es

  1. Die CSV- oder TSV-Datei ablegen Eine Datei auf einmal, als .csv oder .tsv. Der Inhalt wird als UTF-8-Text gelesen, und eine eventuell vorangestellte Bytereihenfolge-Markierung wird abgeschnitten.
  2. Die Trennzeichenerkennung laufen lassen Untersucht werden die ersten zehn Zeilen: Semikolon, Komma und Tabulator werden gezählt, das häufigste Zeichen gewinnt. Bei Gleichstand liegt das Semikolon vorn; kommt keines der drei vor, wird das Komma angenommen.
  3. Auf „Starten“ klicken SheetJS wird geladen, die Tabelle zerlegt und jeder Zelle ein Typ zugewiesen – Text, Zahl oder Datum –, ohne Rückfrage bei Ihnen.
  4. Die Ergebniszeile lesen Dort stehen die Zahl der Zeilen, die Zahl der Spalten und das erkannte Trennzeichen. Eine unerwartete Spaltenzahl verrät eine misslungene Erkennung, die vor allem Weiteren zu klären ist.
  5. Die Mappe öffnen und drei Spalten prüfen Die Datei enthält ein einziges Tabellenblatt mit dem Namen Sheet1. Sehen Sie sich zuerst die Spalten mit Nummern, mit Beträgen und mit Datumsangaben an: Dort sammeln sich die Überraschungen.

Das Trennzeichen, die erste Stolperstelle

Deutschsprachige Programme exportieren überwiegend mit Semikolon, gerade weil das Komma hier das Dezimalzeichen ist; englischsprachige Werkzeuge nehmen das Komma, manche Datenbankauszüge den Tabulator. Die Erkennung zählt diese drei Zeichen in den ersten zehn Zeilen und behält das häufigste. Bei Gleichstand gewinnt das Semikolon, und kommt keines der drei vor, wird ersatzweise das Komma verwendet. Damit ist die große Mehrheit der Dateien abgedeckt.

Gezählt werden allerdings alle Vorkommen im Text, also auch die Kommas innerhalb der Felder. Bei einem deutschen Export mit Dezimalkommas entscheidet deshalb das Mengenverhältnis: Solange eine Kopfzeile und wenigstens eine Textspalte vorhanden sind, liegen die Semikolons vorn, und die Erkennung stimmt. Eine Datei ohne Kopfzeile, die nur aus zwei Zahlenspalten besteht, kippt dagegen. Zehn Zeilen der Form 12,50;3,20 enthalten zehn Semikolons, aber zwanzig Kommas: Das Komma gewinnt, jede Zeile wird an der falschen Stelle zerschnitten, und statt zwei Spalten stehen drei in der Mappe, gefüllt mit den Bruchstücken 12, dann 50;3, dann 20. Einzelne dieser Bruchstücke werden anschließend sogar als Datum gedeutet.

Eine zweite Schwäche kommt hinzu: Das Zählen unterscheidet ein Trennzeichen nicht von einem Zeichen, das innerhalb eines Feldes zwischen Anführungszeichen steht. Eine mit Kommas getrennte Datei, deren Adressfelder Semikolons enthalten, kann daher an der falschen Stelle zerlegt werden und in einer einzigen Spalte landen. Deshalb lohnt der Blick auf die Spaltenzahl in der Ergebniszeile, bevor Sie weiterarbeiten.

Zerlegte Umlaute und verschwundene führende Nullen

Die Datei wird als UTF-8 gelesen. Eine CSV-Datei, die noch in der alten westlichen Windows-Codierung gespeichert wurde, kommt deshalb mit dem Ersetzungszeichen an jeder Stelle heraus, an der ein Umlaut oder ein ß stand: Aus Größe wird Gr��e. Die Korrektur gehört davor. In Excel speichern Sie die Datei erneut mit dem Dateityp CSV UTF-8; in LibreOffice kreuzen Sie im Filterfenster UTF-8 an. Die Bytereihenfolge-Markierung, die Excel dabei an den Anfang setzt, wird hier automatisch entfernt.

Führende Nullen überleben nicht. Aus der Postleitzahl 01067 wird die Zahl 1067, aus der Rufnummer 0170123456 wird 170123456, aus der Artikelnummer 00123 wird 123. Anführungszeichen um den Wert ändern daran nichts, ein vorangestelltes Leerzeichen ebenso wenig. Zwei Umgehungen wirken, beide vor der Umwandlung anzuwenden: dem Wert ein nicht numerisches Zeichen voranstellen, oder das Feld als Gleichheitszeichen gefolgt vom Wert in Anführungszeichen schreiben. Diese zweite Schreibweise liefern manche Exporte ohnehin, und sie bleibt sauber als Text erhalten, ohne dass ein zusätzliches Zeichen in der Zelle sichtbar wird.

Zahlen und Datumsangaben: was die Umwandlung entscheidet

Das deutsche Dezimalkomma wird nicht als solches erkannt. Angewandt wird die englischsprachige Lesart, in der das Komma Tausender gruppiert und deshalb einfach entfällt: Aus dem Betrag 12,50 wird die Zahl 1250, aus 1234,56 wird 123456, aus 0,5 wird 5. Der Fehler bleibt stumm, und sein Ausmaß ist beträchtlich. Mit Punkt geschrieben wird 12.50 dagegen richtig gelesen; steht ein Leerzeichen als Tausendertrennzeichen im Feld, bleibt der Wert Text und lässt sich nicht summieren.

Die vollständige deutsche Schreibweise trifft es auf andere Art. Bei 1.234,56 wird zuerst das Komma zwischen den Ziffern entfernt, übrig bleibt 1.23456, und das geht als gültige Dezimalzahl durch: In der Zelle steht am Ende 1,23456 statt 1234,56. Der Betrag ist um den Faktor tausend verschoben, die Zelle sieht dabei völlig unverdächtig aus, und keine Fehlermeldung weist darauf hin. Prüfen Sie eine Betragsspalte deshalb immer über die Summe und nicht durch Hinsehen.

Datumsangaben werden amerikanisch gelesen, der Monat also zuerst – und zwar unabhängig davon, ob Sie Schrägstriche oder Punkte schreiben. Aus 03/04/2025 wird der 4. März 2025 statt des 3. April, und aus 03.04.2025 wird ebenfalls der 4. März. Unangenehmer noch: In derselben Spalte lässt sich 25.12.2024 nach dieser Lesart überhaupt nicht deuten und bleibt Text. Eine Spalte mit deutschen Datumsangaben kommt also teils als echtes, aber verschobenes Datum und teils als Text heraus, womit jede zeitliche Sortierung hinfällig ist. Unverändert übersteht nur die internationale Form 2025-04-03 die Umwandlung. Prozentwerte werden zu Dezimalzahlen ohne Anzeigeformat: Aus 12% wird 0,12.

Was in der erzeugten Arbeitsmappe steht

Das Ergebnis ist eine Datei im Format Office Open XML mit einem einzigen Tabellenblatt namens Sheet1, das die Werte enthält und sonst nichts:

Die Spaltenbreiten werden allein aus den ersten 200 Zeilen berechnet und auf 8 bis 48 Zeichen begrenzt; eine Spalte mit langen Bezeichnungen erreicht häufig den oberen Wert, was ein Doppelklick auf die Spaltengrenze wieder geraderückt.

Das Lesen der Datei und der Aufbau der Mappe geschehen im Browser; SheetJS wird dafür im Moment der Umwandlung nachgeladen, und zwar von dieser Website selbst, nicht von einem öffentlichen CDN. Der Inhalt der CSV-Datei wird an keinen Dienst geschickt, was nicht gleichgültig ist, wenn es sich um einen Buchhaltungsexport, eine Kundenliste oder eine Personalübersicht handelt.

Häufige Fragen

Meine Beträge sind mit hundert multipliziert worden, was ist passiert?

Das Dezimalkomma wurde als Tausendertrennzeichen gelesen und einfach entfernt: Aus 12,50 wurde 1250. Ersetzen Sie die Dezimalkommas in der CSV-Datei vor der Umwandlung durch Punkte, oder rechnen Sie die betroffene Spalte anschließend im Tabellenprogramm zurück.

Warum steht in meiner Betragsspalte 1,23456 statt 1.234,56?

Weil die deutsche Schreibweise mit Tausenderpunkt und Dezimalkomma zweimal umgedeutet wird: Das Komma wird gestrichen, der Punkt bleibt als Dezimalpunkt stehen. Exportieren Sie Beträge möglichst ohne Tausendertrennzeichen und mit Punkt als Dezimalzeichen.

Wie behalte ich die führende Null einer Postleitzahl?

Weder Anführungszeichen noch ein Leerzeichen davor schützen sie. Stellen Sie dem Wert vor der Umwandlung ein nicht numerisches Zeichen voran, oder schreiben Sie das Feld als Gleichheitszeichen gefolgt vom Wert in Anführungszeichen – diese Form bleibt als Text erhalten, sodass 01067 auch 01067 bleibt.

Warum sind meine Umlaute unlesbar?

Die Datei war nicht in UTF-8 codiert. Öffnen Sie sie erneut und speichern Sie sie mit dem Dateityp CSV UTF-8 in Excel oder mit der Codierung UTF-8 im Filterfenster von LibreOffice, und starten Sie die Umwandlung danach noch einmal.

Warum steht meine ganze Tabelle in einer einzigen Spalte?

Das erkannte Trennzeichen war das falsche, meist weil ein anderes der drei Zeichen in den ersten zehn Zeilen häufiger vorkam – auch innerhalb von Feldern in Anführungszeichen. Bestimmen Sie das tatsächliche Trennzeichen in einem Texteditor und ersetzen Sie es.

Lässt sich die erzeugte Datei auch außerhalb von Excel öffnen?

Ja. Es ist eine standardkonforme .xlsx-Datei, lesbar mit Excel 2007 und neuer, mit LibreOffice Calc, Google Tabellen und Numbers, ohne weitere Umwandlung.

Kann ich eine CSV-Datei mit Kundendaten umwandeln, ohne sie hochzuladen?

Ja, der Inhalt der Datei wird an keinen Dienst geschickt. Sie wird im geöffneten Tab als Text eingelesen, und SheetJS baut die Arbeitsmappe ebenfalls dort auf – die Bibliothek wird von dieser Website selbst nachgeladen, nicht von einem öffentlichen CDN. Bei einem Buchhaltungsexport, einer Kundenliste oder einer Personalübersicht ist das der entscheidende Unterschied zu einem Dienst, der die Datei zuerst entgegennimmt und damit zum Auftragsverarbeiter wird.

Muss ich das Trennzeichen selbst einstellen, wenn meine Datei Semikolons verwendet?

Nein, eine Auswahl gibt es nicht: Die ersten zehn Zeilen werden auf Semikolon, Komma und Tabulator geprüft, das häufigste Zeichen gewinnt, bei Gleichstand liegt das Semikolon vorn, und kommt keines der drei vor, wird das Komma angenommen. Für Exporte aus einem deutsch eingestellten Excel oder aus DATEV trifft es damit fast immer das Semikolon. Welches Zeichen erkannt wurde, steht anschließend in der Ergebniszeile, zusammen mit der Zahl der Zeilen und Spalten – ein kurzer Blick, der sich lohnt.

Wie groß darf die CSV-Datei sein, und kann ich mehrere auf einmal umwandeln?

Eine Datei je Durchgang, als .csv oder .tsv; eine Mehrfachauswahl bietet dieses Werkzeug nicht. Angenommen wird jede Datei bis 1 GB, wobei die Seite ab 400 MB auf die Größe hinweist. Die tatsächliche Grenze ist der Arbeitsspeicher Ihres Geräts, denn der eingelesene Text und die daraus gebaute Arbeitsmappe liegen gleichzeitig darin. Ein Konto oder eine Anmeldung braucht es nicht.

Ähnliche Werkzeuge

Weitere Werkzeuge entdecken

Kategorien