XLSX vs. CSV: Was sich ändert
Verstehen Sie vor der Konvertierung, was CSV beibehält und was verloren geht:
| Funktion | XLSX | CSV |
|---|---|---|
| Zellwerte (Text, Zahlen) | Ja | Ja |
| Formeln | Ja (gespeichert) | Nein (nur berechnete Werte) |
| Formatierung (Fett, Farben) | Ja | Nein |
| Mehrere Tabellenblätter | Ja | Nein (ein Blatt pro Datei) |
| Diagramme und Bilder | Ja | Nein |
| Datentypen (Datum, Währung) | Ja (typisierte Zellen) | Nur Klartext |
| Dateigröße (1000 Zeilen) | ~50–200 KB | ~10–50 KB |
| Universelle Kompatibilität | Benötigt Excel/Viewer | Jeder Texteditor |
Wenn Sie nur die Rohdaten benötigen — für Datenbankimporte, Datenanalysen oder den plattformübergreifenden Austausch —, ist CSV die richtige Wahl. Wenn Formatierung, Formeln oder mehrere Blätter erhalten bleiben sollen, behalten Sie das XLSX-Format. Um eine formatierte Kopie weiterzugeben, die jeder öffnen kann, lesen Sie, wie Sie Excel in PDF umwandeln und das Layout beibehalten.
Methode 1: Online-Konverter (CleverUtils)
Die schnellste Methode. Keine Software zu installieren, funktioniert auf jedem Gerät mit einem Browser.
- Rufen Sie cleverutils.com/de/xlsx-to-csv auf
- Klicken Sie auf XLSX-Datei auswählen oder ziehen Sie Ihre Tabelle per Drag & Drop
- Klicken Sie auf Konvertieren
- Laden Sie die resultierende CSV-Datei herunter
Ideal für: Schnelle Einzelkonvertierungen. Keine Installation erforderlich. Dateien werden beim Upload verschlüsselt und innerhalb von 2 Stunden automatisch gelöscht.
Methode 2: Microsoft Excel
Wenn Sie Excel bereits installiert haben, können Sie direkt exportieren:
- Öffnen Sie die
.xlsx-Datei in Excel - Wenn die Arbeitsmappe mehrere Blätter enthält, klicken Sie auf den gewünschten Blattreiter
- Gehen Sie zu Datei → Speichern unter (bzw. Datei → Kopie speichern in neueren Versionen)
- Wählen Sie im Dropdown „Dateityp“ die Option CSV (Trennzeichen-getrennt) (*.csv)
- Wählen Sie den Speicherort und klicken Sie auf Speichern
- Excel warnt, dass einige Funktionen nicht mit CSV kompatibel sind — klicken Sie auf Ja, um fortzufahren
Excel bietet im Dialog „Speichern unter“ mehrere CSV-Varianten an:
| Option | Kodierung | Trennzeichen | Am besten für |
|---|---|---|---|
| CSV (Trennzeichen-getrennt) | Systemstandard (oft Windows-1252) | Komma | Englischsprachige Daten |
| CSV UTF-8 (Trennzeichen-getrennt) | UTF-8 mit BOM | Komma | Internationale Zeichen |
| CSV (Macintosh) | Mac Roman | Komma | Ältere macOS-Apps |
| CSV (MS-DOS) | OEM/DOS-Zeichensatz | Komma | Ältere DOS-Programme |
Tipp: Wählen Sie immer CSV UTF-8, wenn Ihre Daten Sonderzeichen, CJK-Text oder andere Nicht-ASCII-Symbole enthalten. Das einfache „CSV (Trennzeichen-getrennt)“ verwendet eine gebietsschemaspezifische Kodierung, die Sonderzeichen auf anderen Systemen beschädigen kann.
Methode 3: Google Sheets
Kostenlos und auf jeder Plattform mit einem Browser verfügbar:
- Öffnen Sie sheets.google.com und laden Sie Ihre XLSX-Datei hoch (Datei → Öffnen → Hochladen)
- Google Sheets importiert die Arbeitsmappe und erhält die meiste Formatierung visuell
- Wählen Sie den Blattreiter, den Sie exportieren möchten
- Gehen Sie zu Datei → Herunterladen → Kommagetrennte Werte (.csv)
- Das aktuelle Blatt wird als
.csv-Datei heruntergeladen
Google Sheets exportiert CSV immer in UTF-8-Kodierung – die sicherste Wahl für internationale Daten. Das Trennzeichen ist unabhängig von Ihren Gebietsschemaeinstellungen immer ein Komma.
Methode 4: LibreOffice Calc
LibreOffice ist kostenlos, quelloffen und für Windows, macOS und Linux verfügbar. Es bietet die größte Kontrolle über die CSV-Exporteinstellungen.
- Öffnen Sie die
.xlsx-Datei in LibreOffice Calc - Gehen Sie zu Datei → Speichern unter
- Wählen Sie Text CSV (.csv) als Format
- Klicken Sie auf Format Text CSV verwenden, wenn Sie dazu aufgefordert werden
- Konfigurieren Sie im Exportdialog:
- Zeichensatz: Unicode (UTF-8)
- Feldtrennzeichen: Komma
,(oder Semikolon, Tabulator) - Texttrennzeichen: Anführungszeichen
"
- Klicken Sie auf OK
Stapelkonvertierung über die Kommandozeile
LibreOffice unterstützt den Headless-Modus (ohne GUI), was es ideal für die Stapelverarbeitung macht:
# Einzelne Datei konvertieren
libreoffice --headless --convert-to csv report.xlsx
# Alle XLSX-Dateien im aktuellen Verzeichnis konvertieren
libreoffice --headless --convert-to csv *.xlsx
# Ausgabeverzeichnis angeben
libreoffice --headless --convert-to csv --outdir ./csv-output/ *.xlsx
Hinweis: Der LibreOffice-Headless-Modus exportiert nur das erste Tabellenblatt. Bei mehrseitigen Arbeitsmappen verwenden Sie ein Python-Skript (Methode 5) oder konvertieren Sie jedes Blatt manuell.
Methode 5: Python (pandas)
Python mit der pandas-Bibliothek ist die beste Wahl für automatisierte, wiederholbare oder Stapelkonvertierungen. Es verarbeitet mehrseitige Arbeitsmappen, Kodierungen und benutzerdefinierte Trennzeichen nativ.
Einfache Konvertierung
import pandas as pd
# Erstes Blatt lesen und als CSV speichern
df = pd.read_excel("report.xlsx")
df.to_csv("report.csv", index=False, encoding="utf-8-sig")
Alle Blätter in separate CSV-Dateien konvertieren
import pandas as pd
xlsx = pd.ExcelFile("workbook.xlsx")
for sheet_name in xlsx.sheet_names:
df = pd.read_excel(xlsx, sheet_name=sheet_name)
filename = f"{sheet_name}.csv"
df.to_csv(filename, index=False, encoding="utf-8-sig")
print(f"Saved {filename}")
Mehrere XLSX-Dateien stapelweise konvertieren
import pandas as pd
from pathlib import Path
for xlsx_file in Path(".").glob("*.xlsx"):
df = pd.read_excel(xlsx_file)
csv_file = xlsx_file.with_suffix(".csv")
df.to_csv(csv_file, index=False, encoding="utf-8-sig")
print(f"{xlsx_file} → {csv_file}")
Installation: pip install pandas openpyxl — die openpyxl-Engine wird zum Lesen von .xlsx-Dateien benötigt. Sie wird von pandas automatisch verwendet, wenn sie installiert ist.
Methode 6: Kommandozeilenwerkzeuge
Für Serverumgebungen, CI/CD-Pipelines oder skriptgesteuerte Workflows, in denen keine GUI geöffnet werden kann.
ssconvert (Gnumeric)
Ein schlankes Kommandozeilen-Tabellenkalkulationswerkzeug, das mit Gnumeric mitgeliefert wird:
# Installation auf Ubuntu/Debian
sudo apt install gnumeric
# Einzelne Datei konvertieren
ssconvert report.xlsx report.csv
# Alle Blätter exportieren (erstellt report.csv.0, report.csv.1, usw.)
ssconvert -S report.xlsx report.csv
# Alle XLSX-Dateien stapelweise konvertieren
for f in *.xlsx; do ssconvert "$f" "${f%.xlsx}.csv"; done
csvkit (in2csv)
Ein Python-basiertes Toolkit, das speziell für CSV-Operationen entwickelt wurde:
# Installation
pip install csvkit
# Konvertieren (standardmäßig erstes Blatt)
in2csv report.xlsx > report.csv
# Blatt nach Name angeben
in2csv --sheet "Sales Q4" report.xlsx > sales-q4.csv
# Alle Blattnamen auflisten
in2csv --names report.xlsx
Häufige Probleme und Lösungen
Kodierungsprobleme (unleserliche Zeichen)
Das häufigste Problem. Sonderzeichen (é, ü, ñ), CJK-Text oder Symbole wie € erscheinen als é, ??? oder anderen unlesbaren Text.
Ursache: Die CSV wurde in einer Kodierung gespeichert, aber in einer anderen geöffnet. Excel unter Windows verwendet standardmäßig die lokale Codepage (z. B. Windows-1252 für Westeuropäisch), nicht UTF-8.
Lösung:
- Speichern Sie immer als UTF-8 mit BOM (Byte Order Mark). Das BOM signalisiert Excel und anderen Anwendungen, dass die Datei UTF-8-kodiert ist.
- In Python:
encoding="utf-8-sig"verwenden (UTF-8 mit BOM) anstattencoding="utf-8" - Beim Öffnen einer CSV in Excel: den Importassistenten über Daten → Aus Text/CSV verwenden, mit dem Sie die Kodierung vor dem Import auswählen können
Trennzeichenkonflikte
Einige europäische Gebietsschemas verwenden Semikolons (;) statt Kommas als CSV-Trennzeichen, da Kommas dort als Dezimaltrennzeichen dienen (z. B. 1.234,56 im Deutschen).
Symptome: Alle Daten erscheinen in einer einzigen Spalte, wenn die Datei in Excel geöffnet wird, oder Zahlenwerte werden auf mehrere Spalten aufgeteilt.
Lösung:
- Prüfen Sie Ihr Gebietsschema: Windows-Nutzer mit deutschem, französischem oder italienischem Gebietsschema benötigen möglicherweise Semikolons
- In Python:
df.to_csv("file.csv", sep=";")für semikolongetrennte Ausgabe - In LibreOffice: das Feldtrennzeichen beim Export explizit festlegen
- Beim Import: den Textimport-Assistenten verwenden und das korrekte Trennzeichen angeben
Mehrseitige Arbeitsmappen
Das CSV-Format unterstützt genau ein Tabellenblatt pro Datei. Beim Konvertieren einer mehrseitigen XLSX-Arbeitsmappe exportieren die meisten Tools nur das erste (aktive) Blatt.
Lösung:
- Jedes Blatt separat exportieren – mit dem Python-Skript für mehrere Blätter (s. o.)
ssconvert -Sverwenden, das automatisch nummerierte CSV-Dateien für jedes Blatt erstellt- In Excel oder Google Sheets manuell die Reiter wechseln und jedes Blatt einzeln exportieren
Datums- und Zahlenformatierung
Daten und Zahlen können sich bei der Konvertierung in CSV verändern, da CSV kein Konzept für Datentypen kennt. Ein Datum wie 2026-03-24 könnte als 46108 (serielle Excel-Zahl) oder als 24.03.2026 (gebietsschemaabhängiges Format) ausgegeben werden.
Lösung:
- Datumsspalten vor dem Export als Text im gewünschten Format formatieren (z. B.
YYYY-MM-DDfür ISO 8601) - In Python:
df.to_csv(..., date_format="%Y-%m-%d") - Bei Zahlen Tausendertrennzeichen entfernen und ein einheitliches Dezimalformat sicherstellen
Welche Methode sollten Sie wählen?
| Methode | Geschwindigkeit | Mehrere Blätter | Kodierungskontrolle | Stapel | Ideal für |
|---|---|---|---|---|---|
| CleverUtils | Sofort | Erstes Blatt | Fest (keine Optionen) | Nein | Schnelle einmalige Konvertierungen |
| Excel | Schnell | Manuell pro Blatt | 4 Optionen | Nein | Desktop-Nutzer mit installiertem Excel |
| Google Sheets | Mittel | Manuell pro Blatt | Nur UTF-8 | Nein | Chromebook / keine Desktop-App |
| LibreOffice | Schnell | Erstes Blatt (CLI) | Volle Kontrolle | Ja (CLI) | Linux-Nutzer, Stapelverarbeitung per CLI |
| Python | Schnell | Alle Blätter | Volle Kontrolle | Ja | Entwickler, Automatisierung |
| CLI (ssconvert) | Schnell | Alle Blätter (-S) | Standardmäßig UTF-8 | Ja | Server, CI/CD-Pipelines |
So exportieren Sie jedes Blatt einer Arbeitsmappe als CSV
Excel speichert nur das aktive Blatt als CSV. Um unter Windows alle Blätter auf einmal zu exportieren, führen Sie dieses Makro aus (drücken Sie Alt+F11, Einfügen → Modul, Code einfügen, dann F5 drücken). Jedes Blatt wird als Blattname.csv in UTF-8 neben der Arbeitsmappe gespeichert.
Sub ExportSheetsToCSV()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Copy
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & ws.Name & ".csv", xlCSVUTF8
ActiveWorkbook.Close False
Next ws
End Sub