Warum Excel eine CSV-Datei falsch öffnet
Ein Doppelklick auf eine CSV-Datei überlässt Excel alle Entscheidungen. Excel rät den Zeichensatz, nimmt das Listentrennzeichen aus den Windows-Ländereinstellungen und deutet jede Zelle, die nach Zahl oder Datum aussieht, sofort um. Bei einer Kundenliste aus einem Onlineshop sieht das dann so aus: Aus „Jürgen Weiß“ wird „Jürgen Weiß“, weil die Datei in UTF-8 gespeichert ist und Excel sie als ANSI liest. Aus der Postleitzahl 01067 wird 1067, aus der Telefonnummer 0171 1234567 im besten Fall Text und im schlechtesten eine Zahl ohne Null. Eine Spalte mit Artikelnummern wie 1E10 erscheint als 1,00E+10, und eine 16-stellige Nummer verliert ihre letzte Ziffer, weil Excel Zahlen nur auf 15 Stellen genau speichert. Steht in der Datei ein Komma als Trennzeichen, landet bei deutschem Excel alles in Spalte A.
Gespeichert ist der Schaden erst, wenn jemand die Datei danach wieder als CSV sichert. Dann sind die Nullen und die Umlaute auch in der Datei weg. Deshalb lohnt es sich, eine CSV nicht per Doppelklick zu öffnen, sondern sie einmal sauber in eine XLSX-Datei zu überführen, in der jede Spalte den richtigen Typ hat.
So arbeitet das Werkzeug
Zuerst prüft es die ersten Bytes der Datei. Beginnt sie mit EF BB BF, ist sie UTF-8 mit Byte-Order-Mark, so wie Excel „CSV UTF-8“ speichert. Sonst versucht das Werkzeug, die Datei streng als UTF-8 zu lesen. Klappt das nicht, ist sie mit hoher Wahrscheinlichkeit Windows-1252, der Zeichensatz, den Excel unter deutschem Windows für „CSV (Trennzeichen-getrennt)“ benutzt. Dort steht das Byte E4 für ä und 80 für das Euro-Zeichen (WHATWG Encoding Standard). Die Erkennung lässt sich im Feld „Zeichensatz“ überstimmen.
Danach zählt das Werkzeug in den ersten 50 Zeilen, wie oft Semikolon, Komma, Tabulator und senkrechter Strich vorkommen, und nimmt das Zeichen, das in jeder Zeile gleich oft steht. Inhalte in Anführungszeichen zählen dabei nicht mit. Eine erste Zeile „sep=;“, wie Excel sie kennt, hat Vorrang. Gelesen wird nach RFC 4180: Felder in doppelten Anführungszeichen dürfen Trennzeichen und Zeilenumbrüche enthalten, zwei Anführungszeichen hintereinander stehen für eines.
Für jede Spalte schlägt das Werkzeug dann einen Typ vor und zeigt ihn in der Vorschau. Sie können ihn ändern, bevor die Datei entsteht. Die XLSX-Datei wird im Browser zusammengesetzt, nach dem Office-Open-XML-Format ECMA-376: ein ZIP-Paket mit Arbeitsmappe, Tabellenblatt und Formatvorlagen. Es gibt keinen Server, der die Datei sieht.
Führende Nullen, IBAN und lange Nummern
Eine Spalte wird automatisch zu Text, sobald ein Wert mit 0 und einer weiteren Ziffer beginnt (01067, 0351 1234567), Buchstaben enthält (DE89 3704 0044 0532 0130 00) oder mehr als 15 Ziffern hat. Textzellen bekommen in Excel das Zahlenformat „@“ (Text). Damit bleibt die Null auch dann stehen, wenn später jemand in der Zelle etwas ändert. Excel markiert solche Zellen unter Umständen mit einem grünen Dreieck („Zahl als Text gespeichert“); das ist ein Hinweis, kein Fehler, und lässt sich ignorieren. Auch die leeren Zellen einer Textspalte sind als Text formatiert, damit neu eingetippte Postleitzahlen nicht wieder ihre Null verlieren.
Zahlen und Datum: Komma oder Punkt
Ob 1.234 eintausendzweihundertvierunddreißig heißt oder eins Komma zwei drei vier, steht nicht in der Datei. Das Werkzeug löst das mit zwei Zahlentypen: „Zahl 1.234,56“ für deutsche Schreibweise und „Zahl 1,234.56“ für englische. Steht ein Komma in den Werten, das nur als Dezimalkomma Sinn ergibt, ist die Wahl klar. Bei reinen ganzen Zahlen entscheidet das Trennzeichen: Semikolon spricht für eine deutsche Datei, Komma für eine englische. Die Zahl der Nachkommastellen bleibt erhalten; 1.234,50 steht in Excel als 1.234,50 und nicht als 1234,5.
Datumswerte im Format TT.MM.JJJJ oder JJJJ-MM-TT, auch mit Uhrzeit, werden zu Excel-Seriennummern. Excel zählt die Tage fortlaufend, der 1. Januar 1900 hat die Nummer 1. Für den 1. Januar 2008 nennt Microsoft auf der Hilfeseite zur Funktion DATUM die Zahl 39448. Dadurch können Sie in Excel nach Datum sortieren und mit Daten rechnen. Zweistellige Jahre wie 01.10.26 bleiben Text, weil nicht eindeutig ist, welches Jahrhundert gemeint ist. Ebenso bleiben Beträge mit Währungszeichen („12,50 €“) Text.
Formeln in CSV-Dateien werden gesperrt
Eine CSV-Datei kann Zellen enthalten, die mit = beginnen. Excel führt so etwas beim Öffnen als Formel aus. Angreifer nutzen das für sogenannte CSV-Injection, etwa über ein Kontaktformular, dessen Einträge später als CSV exportiert werden. Die OWASP-Stiftung nennt auf ihrer Seite zur CSV-Injection als gefährliche Zeichen am Zellanfang =, +, -, @, Tabulator, Wagenrücklauf und Zeilenumbruch. Das Werkzeug schreibt solche Zellen grundsätzlich als Text und setzt in der XLSX-Datei das Kennzeichen „quotePrefix“. Das entspricht dem Apostroph, den Sie in Excel vor eine Eingabe setzen: Excel zeigt den Inhalt, rechnet ihn aber nicht. Eine Telefonnummer wie +49 89 123 bleibt dadurch auch lesbar, statt als Rechnung zu enden. Steht die Nummer ohne Leerzeichen da (+491701234567), wird die Spalte ebenfalls Text, damit das Pluszeichen nicht verloren geht.
So geht es direkt in Excel
Wer die Datei lieber in Excel selbst importiert, nimmt nicht den Doppelklick, sondern den Import. In Excel für Microsoft 365 und Excel 2016 bis 2024 steht er unter Daten, Gruppe „Daten abrufen & transformieren“, „Aus Text/CSV“. So geht es Schritt für Schritt:
- Leere Arbeitsmappe öffnen, Daten, „Aus Text/CSV“ wählen und die Datei importieren.
- Im Vorschaufenster oben den Dateiursprung (Zeichensatz) auf UTF-8 stellen, wenn Umlaute falsch aussehen, und das Trennzeichen prüfen.
- „Daten transformieren“ wählen, die Spalten mit PLZ, IBAN oder Telefonnummer markieren und als Datentyp „Text“ festlegen. Erst danach „Schließen & laden“.
Microsoft beschreibt außerdem einen Umweg: Die Datei vor dem Öffnen von .csv in .txt umbenennen. Dann startet Excel den Textimport-Assistenten, in dem Sie jede Spalte einzeln als Text festlegen können. Menünamen Stand 02.10.2026; ältere Excel-Versionen und Excel für Mac benennen einzelne Schritte anders.
Der Rückweg: Excel in CSV
Wählen Sie eine .xlsx-Datei, schreibt das Werkzeug ein Tabellenblatt Ihrer Wahl als CSV. Es übernimmt die Werte so, wie Excel sie anzeigt: Ein Betrag mit dem Format #.##0,00 wird zu 1.234,50, ein Datum zu 01.10.2026 oder 2026-10-01. Gerundet wird wie in Excel an der Dezimalzahl: 1,005 im Format 0,00 ergibt 1,01 und nicht 1,00, wie es eine reine Binärrundung liefern würde. Eine Stundensumme im Format [h]:mm:ss bleibt über 24 Stunden stehen (36:00:00). Die CSV beginnt wie bei Excel in Zelle A1, auch wenn die Tabelle erst weiter unten anfängt. Voreingestellt ist das, was deutsches Excel als „CSV UTF-8“ schreibt: Semikolon, Dezimalkomma, UTF-8 mit BOM und Windows-Zeilenende. Für Shopsysteme, Banken oder Newsletter-Programme lassen sich Komma, Punkt, UTF-8 ohne BOM oder Windows-1252 einstellen. Felder mit Trennzeichen, Anführungszeichen oder Zeilenumbruch kommen nach RFC 4180 in Anführungszeichen. Eine CSV aus diesem Werkzeug, in XLSX umgewandelt und mit den Standardeinstellungen zurückgewandelt, ist Byte für Byte die Ausgangsdatei; das prüfen die Testfälle.
Grenzen
Ein Excel-Tabellenblatt fasst 1.048.576 Zeilen und 16.384 Spalten, eine Zelle 32.767 Zeichen (Microsoft, Spezifikationen und Beschränkungen in Excel). Größere Tabellen lehnt das Werkzeug mit Meldung ab, statt still zu kürzen. Eine zweite Grenze setzt der Browser selbst: Das Werkzeug nimmt CSV-Dateien bis 300 MB an. Eine Datei mit 282 MB (400.000 Zeilen, 30 Spalten) ging in unserem Test in Chrome in rund 50 Sekunden durch; ab 20.000 Zeilen zeigt die Seite einen Fortschrittsbalken und einen Knopf zum Abbrechen. Reicht der Arbeitsspeicher trotzdem nicht, kommt eine Meldung mit dem Rat, die Datei zu teilen. Das alte Format .xls liest das Werkzeug nicht. Beim Rückweg nimmt es von Formeln das zuletzt berechnete Ergebnis, das Excel in der Datei speichert; die Formel selbst wird nicht übernommen. Dateien aus Programmen wie Python (openpyxl, pandas) enthalten dieses Ergebnis oft nicht. Dann zählt das Werkzeug die betroffenen Formeln und rät, die Datei einmal in Excel zu öffnen und zu speichern. Verbundene Zellen, Farben und Diagramme gibt es in CSV nicht. Eine Liste mit 100.000 Zeilen braucht auf einem aktuellen Rechner wenige Sekunden, auf einem älteren Handy deutlich länger.