menyimpan xls sebagai csv dengan libreoffice calc

20

Saya menggunakan LibreOffice 3.5.7.2 Build ID: 350m1 (Build: 2) dan ingin menjalankan LibreOffice calc dari terminal untuk membuka dokumen .xls dan output ke .csv. Saya dapat melakukan ini melalui GUI hanya dengan membuka file xls dan menyimpan sebagai csv dan menentukan delimeter, tetapi saya ingin dapat melakukannya melalui terminal.

Penelitian yang telah saya lakukan:

ketika saya berlari

> man libreoffice

Saya mendapat:

SYNOPSIS
       libreoffice  [--accept=accept-string]  [--base]  [--calc] [--convert-to
       output_file_extension[:output_filter_name]

yang memiliki perintah --convert-to output tetapi saya tidak begitu yakin bagaimana contoh itu akan terlihat, saya mencoba:

libreoffice --convert-to csv:writer_csv_Export --outdir /Data/ *.xls

sebagai https://help.libreoffice.org/Common/Starting_the_Software_With_Parameters/vi menyebutkan tetapi tidak berfungsi.

Eduardo Dennis
sumber
1
libreoffice --headless --convert-to csv --outdir somedir *.xlstampaknya berhasil. :writer_csv_Exporttampaknya tidak perlu, dan mungkin juga menjadi masalah yang /Data/berarti direktori yang disebut Datadi root filesystem, bukan di direktori home Anda. Abaikan saja --outdir DIRdan Anda akan mendapatkan output di direktori saat ini.
chronitis

Jawaban:

31

libreoffice --headless --convert-to csv --outdir somedir *.xls tampaknya berhasil.

--headless menghentikan Libreoffice dari membuka jendela, jadi itu hanya mengkonversi file Anda dan kemudian keluar.

:writer_csv_Exportsetelah itu csvtampaknya tidak perlu.

Mungkin juga masalah yang /Data/berarti direktori yang disebut Data di root filesystem, bukan di direktori home Anda. Abaikan saja --outdir DIRdan Anda akan mendapatkan output di direktori saat ini.

catatan:

Tutup file xls / xlsx Anda sebelum Anda menjalankan perintah ini. Jika file dibuka perintah ini tidak berfungsi.

kronis
sumber
1
apakah ada cara untuk menentukan delimeter di baris perintah? Yaitu bukannya koma, pipa?
Eduardo Dennis
1
Ada bug perangkat tambahan untuk ini, jadi mungkin tidak -> libreoffice.org/bugzilla/show_bug.cgi?id=68786
chronitis
ok tidak masalah, semoga mereka segera memperbaikinya :-D
Eduardo Dennis
3
Hanya mengekspor lembar pertama. Apakah ada cara untuk mengekspor semua sheet ke file terpisah?
Grzegorz Wierzowiecki
@GrzegorzWierzowiecki seperti yang dijelaskan dalam jawaban Ask Libreoffice ini Anda harus terlebih dahulu mengkonversi ke XLSX dan kemudian ke CSV via xlsx2csv. Untuk yang lainnya ada makro: tautan - tautan
Avio