Sven Rautenberg: HTML-Tabelle als Excel exportieren - Sven Rautenberg

Beitrag lesen

Moin!

@Sven: Du schreibst in 2007, Du würdest nie mehr csv-Dateien importieren.
Ich mahe das alle Nase lang mal wieder und hatte bisher noch nie Probleme, weder mit UTF-8-Daten, noch mit anders codierten Daten. Allerdings arbeite ich mit OpenOffice Calc.

Hatte ich einfach nur Glück oder nur die Fehler noch nicht gefunden?

Von welchen Fehlern (konkret) sprachst Du damals?

Das CSV-Dateiformat ist nicht eindeutig genug spezifiziert und enthält viel Raum für eigene Festlegungen.

Wenn du dir eine CSV-Datei in Open Office Calc importieren willst, erhältst du ein reichhaltiges Menü mit den vielfältigsten Optionen zum Anklicken. In CSV-Dateien könnten die Spalten beispielsweise mit Komma, Semikolon, Tabulator, Leerzeichen oder jedem beliebigen anderen Zeichen getrennt sein. Als Trennzeichen für Texte ist " oder ' möglich. Text muss aber nicht zwingend innerhalb von "" eingeschlossen werden.

Dasselbe Problem zeigt sich bei der PHP-Funktion fgetcsv - hier gibts ebenfalls die Möglichkeit, die Spaltentrennzeichen und die Texteinrahmungen als Parameter festzulegen - ohne jegliche Einschränkung auf irgendwelche ausschließlich nutzbaren Zeichen.

Es ist einfach nicht hinreichend genau spezifiziert, welche Trennzeichen in einer CSV-Datei benutzt werden müssen, sondern man muss vorher mit dem Datenlieferant eine genauere Definition festlegen, oder man muss erstmal manuell als Mensch hineingucken und feststellen, was verwendet wird. Dasselbe gilt selbstverständlich auch nochmal für das anzuwendende Encoding der enthaltenen Texte.

Microsoft Excel hat dann nochmal eine ganz eigene Auffassung, was es als CSV-Format versteht. Zumindest in den älteren Versionen hat sich das Ausgabeformat gerne auch mal in Abhängigkeit von der Software-Sprache verändert - ein mit englischem Excel exportiertes CSV ließt sich nicht direkt in einem deutschen importieren und umgekehrt.

CSV stellt den unbedarften Benutzer jedenfalls beim Import in eine Tabellenkalkulation vor schwierige Fragen, an denen er im Zweifel scheitern wird. Und weil es deutlich bessere Dateiformate gibt, die solche Fragen nicht stellen, sollte CSV so langsam mal aussterben.

- Sven Rautenberg