конвертировать xls в utf-8 csv с помощью командной строки LibreOffice?

1460
RocketNuts

Я пытаюсь пакетно-конвертировать кучу файлов Excel (.xls) в CSV с кодировкой UTF-8. Но что бы я ни пытался, ничего не происходит.

Есть несколько похожих вопросов по этой проблеме, но я думаю, что они либо устаревшие, либо неправильные, в основном они предлагают вариант этого:

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

(опционально я также могу использовать /Applications/LibreOffice.app/Contents/MacOS/sofficeвместо soffice)

Когда я выполняю вышеизложенное в оболочке, из каталога, содержащего test.xls, ничего не происходит. Нет вывода, нет ошибок, нет. CSV файл создается, ничего.

Я что-то пропустил? К вашему сведению, я использую последнюю версию LibreOffice на OS X.

0
Вы пробовали просто `soffice --convert-to csv test.xls`? Это работает на моей машине Windows. Убедитесь, что у вас есть права на запись в текущий каталог. Кроме того, если вы просто наберете `soffice`, открывается ли LibreOffice? Наконец, убедитесь, что `ls test.xls` действительно показывает, что исходный файл существует. Jim K 7 лет назад 0
Да, попробовал это. Сначала не сработало. Однако я думаю, что нашел причину, буду экспериментировать и обновлять вопрос или отвечать сам RocketNuts 7 лет назад 0

1 ответ на вопрос

1
RocketNuts

Нашел его, причина, по которой ничего не произошло, в том, что экземпляр графического интерфейса LibreOffice уже был открыт!

После закрытия LibreOffice сработала следующая командная строка:

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

Значение этих чисел в флагах фильтра csv подробно объясняется в Open Office Wiki .

Похожие вопросы