Konvertieren von xls in utf-8 csv mithilfe der LibreOffice-Befehlszeile?

1535
RocketNuts

Ich versuche, eine Reihe von Excel-Dateien (.xls) mit UTF-8-Codierung in Batch-Konvertierung zu konvertieren. Aber egal was ich versuche, scheint nichts zu passieren.

Es gibt ein paar ähnliche Fragen zu diesem Thema, aber ich denke, dass sie entweder veraltet oder falsch sind, sie schlagen meist eine Variation davon vor:

soffice --convert-to csv --headless --outdir . test.xls 

(optional kann ich auch /Applications/LibreOffice.app/Contents/MacOS/sofficeanstelle von verwenden soffice)

Wenn ich den obigen Befehl auf einer Shell aus einem Verzeichnis mit test.xls ausführe, passiert nichts. Keine Ausgabe, keine Fehler, keine erzeugte CSV-Datei, nichts.

Fehlt mir etwas? Zu Ihrer Information Ich benutze das neueste LibreOffice unter OS X.

0
Haben Sie einfach versucht `soffice --convert-to csv test.xls`? Es funktioniert auf meinem Windows-Rechner. Stellen Sie sicher, dass Sie über Schreibrechte für das aktuelle Verzeichnis verfügen. Wenn Sie einfach "soffice" eingeben, öffnet sich LibreOffice? Stellen Sie schließlich sicher, dass `ls test.xls` wirklich zeigt, dass die Quelldatei existiert. Jim K vor 7 Jahren 0
Ja, das habe ich versucht. Hat zuerst nicht funktioniert. Ich denke jedoch, ich habe den Grund gefunden, werde die Frage experimentieren und aktualisieren oder mich selbst beantworten RocketNuts vor 7 Jahren 0

1 Antwort auf die Frage

1
RocketNuts

Fand es, der Grund, warum nichts passiert ist, ist, dass eine GUI-Instanz von LibreOffice bereits geöffnet war!

Nach dem Schließen von LibreOffice hat die folgende Befehlszeile den Trick ausgeführt:

soffice --convert-to csv:"Text - txt - csv (StarCalc)":9,,0,1,1 test.xls 

Die Bedeutung dieser Zahlen in den csv-Filterflags wird ausführlich im Open Office-Wiki erläutert .