Converter xlsx para xls no script de shell do Linux

13

Eu preciso converter o arquivo ".xlsx" para ".xls" usando o comando shell.

No meu trabalho, estamos usando o comando xlsx2csv, mas agora o requisito foi alterado e precisamos converter todos os arquivos ".xlsx" em arquivos ".xls" para cálculos adicionais.

Para isso, um cara no meu trabalho desenvolveu um comando que pode converter ".xlsx" em ".xls", mas isso é aplicável apenas a uma folha.

Temos várias planilhas em um arquivo.

Agradecemos antecipadamente ....

    
por Prem Joshi 27.03.2017 / 07:43

2 respostas

18

Se você instalar o LibreOffice, você pode usar o seguinte comando:

libreoffice --headless --convert-to xls myfile.xlsx

ou apenas:

libreoffice --convert-to xls myfile.xlsx

na versão recente (> = 4.5), em que --convert-to implica --headless .

Isso criará myfile.xls , e manterá o myfile.xlsx original - então você provavelmente precisará fazer uma limpeza após validar a conversão. bem sucedido.

    
por 27.03.2017 / 09:32
6

você também pode tentar ssconvert a ferramenta de conversão do companheiro de gnumeric

ssconvert in.xlsx out.xls

(como normalmente, veja man ssconvert )

Para casos normais , tudo bem. Se o arquivo de entrada é muito avançado em ambos os conversores (libreoffice e gnumeric), alguns detalhes podem ser perdidos.

    
por 27.03.2017 / 11:23