Excelファイルは、次を使用してCSVに変換できます。
$ libreoffice --convert-to csv --headless --outdir dir file.xlsx
すべてがうまく機能しているように見えます。ただし、エンコーディングは不安定なものに設定されています。 LibreOffice Calcから「名前を付けて保存」を手動で行うと、UTF-8 mdash(—)の代わりに、¥227(�)が得られます。 CSVでfileを使用すると、「非ISO拡張ASCIIテキスト、非常に長い行」が表示されます。したがって、2つの質問:
私が変換しようとしている特定のファイルは here です。
どうやらLibreOfficeはデフォルトでISO-8859-1を使用しようとするため、問題が発生しているようです。 このバグレポートへの対応 、新しいパラメーター--infilter
追加されました。次のコマンドは + 2014 em dash を生成します:
libreoffice --convert-to csv --infilter=CSV:44,34,76,1 --headless --outdir dir file.xlsx
これをLO 5.0.3.2でテストしました。バグレポートによると、このオプションを含む最も古いバージョンはLO 4.4です。
あなたは試すことができます、
$ libreoffice --convert-to \
> csv:"Text - txt - csv (StarCalc)":"44,34,0,1,,0" \
> --headless --outdir dir file.xlsx
ここ 、非常に詳細なヘルプがあります。