Ich habe versucht, eine vernünftige Lösung / Erklärung zu finden (erfolglos), um herauszufinden, warum Excel standardmäßig die Stückliste entfernt, wenn eine Datei im CSV-Typ gespeichert wird.
Bitte verzeihen Sie mir, wenn Sie ein Duplikat dieser Frage finden. Hiermit wird das Lesen von CSV-Dateien mit Nicht-ASCII-Codierung behandelt, das Speichern der Datei wird jedoch nicht behandelt (hier liegt das größte Problem).
Hier ist meine aktuelle Situation (die ich zusammenfassen werde, ist bei lokalisierter Software, die sich mit Unicode-Zeichen und einem CSV-Format befasst, üblich):
Wir exportieren Daten mit UTF-16LE in ein CSV-Format und stellen dabei sicher, dass die Stückliste gesetzt ist (0xFFFE). Wir überprüfen, nachdem die Datei mit einem Hex-Editor generiert wurde, um sicherzustellen, dass sie korrekt festgelegt wurde.
Öffnen Sie die Datei in Excel (in diesem Beispiel exportieren wir japanische Zeichen) und stellen Sie fest, dass Excel das Laden der Datei mit der richtigen Codierung handhabt.
Beim Versuch, diese Datei zu speichern, wird eine Warnmeldung angezeigt, die darauf hinweist, dass die Datei möglicherweise Funktionen enthält, die nicht mit der Unicode-Codierung kompatibel sind. Sie werden jedoch gefragt, ob Sie die Datei trotzdem speichern möchten.
Wenn Sie das Dialogfeld "Speichern unter" auswählen, werden Sie sofort aufgefordert, die Datei als "Unicode-Text" anstelle von CSV zu speichern. Wenn Sie die Erweiterung "CSV" auswählen und die Datei speichern, wird die Stückliste entfernt (natürlich zusammen mit allen japanischen Zeichen).
Warum sollte das passieren? Gibt es eine Lösung für dieses Problem oder handelt es sich um einen bekannten 'Bug' / eine bekannte Einschränkung von Excel?
Zusätzlich (als Nebenproblem) scheint es, dass Excel beim Laden von UTF-16LE-codierten CSV-Dateien nur TAB-Trennzeichen verwendet. Ist dies wieder ein weiterer bekannter Fehler / eine Einschränkung von Excel?