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 den Datenbankimport, die Datenanalyse oder plattformübergreifende Weitergabe — ist CSV die richtige Wahl. Wenn Sie Formatierung, Formeln oder mehrere Tabellenblätter erhalten möchten, behalten Sie das XLSX-Format.
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 | Automatisch (UTF-8) | Nein | Schnelle Einzelkonvertierungen |
| Excel | Schnell | Manuell je Blatt | 4 Optionen | Nein | Desktop-Nutzer mit installiertem Excel |
| Google Sheets | Mittel | Manuell je Blatt | Nur UTF-8 | Nein | Chromebook / kein Desktop-Programm |
| 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) | Standard UTF-8 | Ja | Server, CI/CD-Pipelines |