converter xls para utf-8 csv usando a linha de comando do LibreOffice?

0

Estou tentando converter em lote um monte de arquivos do Excel (.xls) para CSV com codificação UTF-8. Mas não importa o que eu tente, nada parece acontecer.

Existem algumas perguntas semelhantes sobre esse problema, mas acho que elas estão desatualizadas ou incorretas, na maioria das vezes sugerem uma variação disso:

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

(opcionalmente também posso usar em /Applications/LibreOffice.app/Contents/MacOS/sofficevez de soffice)

Quando executo o acima em um shell, de dentro de um diretório que contém test.xls, nada acontece. Nenhuma saída, nenhum erro, nenhum arquivo .csv sendo criado, nada.

Estou esquecendo de algo? Para sua informação, estou usando o LibreOffice mais recente no OS X.

RocketNuts
fonte
Você já tentou simplesmente soffice --convert-to csv test.xls? Funciona na minha máquina Windows. Verifique se você possui privilégios de gravação no diretório atual. Além disso, se você simplesmente digitar soffice, o LibreOffice é aberto? Por fim, verifique se ls test.xlsrealmente mostra que o arquivo de origem existe.
Jim K
Sim, tentei isso. Não funcionou no começo. No entanto, eu acho que encontrei a razão, vai experimentar e atualizar a pergunta ou responder a mim mesmo
RocketNuts

Respostas:

1

Encontrado, o motivo pelo qual nada aconteceu é que uma instância da interface gráfica do LibreOffice já estava aberta!

Depois de fechar o LibreOffice, a seguinte linha de comando fez o truque:

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

O significado desses números nos sinalizadores de filtro csv é explicado em detalhes no Wiki do Open Office .

RocketNuts
fonte