Estou usando o LibreOffice 3.5.7.2 Build ID: 350m1 (Build: 2) e gostaria de executar o LibreOffice calc a partir do terminal para abrir um documento .xls e enviar para .csv. Eu posso fazer isso através da GUI, apenas abrindo o arquivo xls e salvando como csv e especificando o delimitador, mas eu gostaria de poder fazer isso através do terminal.
Pesquisa que fiz:
quando eu corro
> man libreoffice
Eu recebo:
SYNOPSIS
libreoffice [--accept=accept-string] [--base] [--calc] [--convert-to
output_file_extension[:output_filter_name]
que possui um comando --convert-to output, mas não sei exatamente como seria um exemplo disso, tentei:
libreoffice --convert-to csv:writer_csv_Export --outdir /Data/ *.xls
como https://help.libreoffice.org/Common/Starting_the_Software_With_Parameters/vi menciona, mas não está funcionando.
command-line
libreoffice
Eduardo Dennis
fonte
fonte
libreoffice --headless --convert-to csv --outdir somedir *.xls
parece funcionar.:writer_csv_Export
parece ser desnecessário e também pode ser um problema que/Data/
significa um diretório chamadoData
na raiz do sistema de arquivos, não no diretório inicial. Apenas omita--outdir DIR
e você obterá a saída no diretório atual.Respostas:
libreoffice --headless --convert-to csv --outdir somedir *.xls
parece funcionar.--headless
impede que o Libreoffice abra uma janela, então ele apenas converte seus arquivos e depois sai.:writer_csv_Export
depoiscsv
parece desnecessário.Também pode ser um problema que
/Data/
significa um diretório chamado Dados na raiz do sistema de arquivos, não no diretório inicial. Apenas omita--outdir DIR
e você obterá a saída no diretório atual.Nota:
Feche o arquivo xls / xlsx antes de executar este comando. Se o arquivo for aberto, este comando não funcionará.
fonte
xlsx2csv
. Para todo o resto, existem macros: link - link