збереження xls як csv з libreoffice calc


20

Я використовую LibreOffice 3.5.7.2 ID збірки: 350m1 (Build: 2) і хотів би запустити Calc LibreOffice з терміналу, щоб відкрити .xls документ і вивести його в .csv. Я можу це зробити через графічний інтерфейс, просто відкривши файл xls і збережи як csv та вказавши деліметр, але я хотів би це зробити через термінал.

Дослідження, які я робив:

коли я біжу

> man libreoffice

Я отримав:

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

яка має команду --convert-to output, але я не зовсім впевнений, як виглядатиме приклад цього, я спробував:

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

як згадує https://help.libreoffice.org/Common/Starting_the_Software_With_Parameters/vi, але це не працює.


1
libreoffice --headless --convert-to csv --outdir somedir *.xlsздається, працює. :writer_csv_Exportвидається непотрібним, і це також може бути проблема, що /Data/означає каталог, викликаний Dataу корені файлової системи, а не у вашому домашньому каталозі. Просто опустіть, --outdir DIRі ви отримаєте висновок у поточному каталозі.
хроніт

Відповіді:


31

libreoffice --headless --convert-to csv --outdir somedir *.xls здається, працює.

--headless зупиняє Libreoffice відкривати вікно, тож воно просто перетворює ваші файли, а потім виходить.

:writer_csv_Exportпісля csvвидається непотрібним.

Можливо, це також проблема, що /Data/означає каталог, який називається "Дані" в корені файлової системи, а не в домашньому каталозі. Просто опустіть, --outdir DIRі ви отримаєте висновок у поточному каталозі.

Примітка:

Закрийте файл xls / xlsx, перш ніж запустити цю команду. Якщо файл відкрито, ця команда не працює.


1
чи є спосіб вказати деліметр у командному рядку? IE замість коми, труби?
Едуардо Денніс

1
Для цього є помилка вдосконалення, тому, імовірно, не -> libreoffice.org/bugzilla/show_bug.cgi?id=68786
хроніт

гаразд ніяких проблем, сподіваємось, вони скоро це виправлять :-D
Едуардо Денніс

3
Експортується лише перший аркуш. Чи можна експортувати всі аркуші в окремі файли?
Grzegorz Wierzowiecki

@GrzegorzWierzowiecki, як пояснено в цій відповіді на запитання Libreoffice, вам доведеться спочатку конвертувати в XLSX, а потім у CSV через xlsx2csv. Для всього іншого є макроси: посилання - посилання
Avio
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.