Estoy usando LibreOffice 3.5.7.2 Build ID: 350m1 (Build: 2) y me gustaría ejecutar LibreOffice calc desde el terminal para abrir un documento .xls y enviarlo a .csv. Puedo hacer esto a través de la GUI simplemente abriendo el archivo xls y guardando como csv y especificando el delímetro, pero me gustaría poder hacerlo a través del terminal.
Investigación que he hecho:
cuando corro
> man libreoffice
Yo obtengo:
SYNOPSIS
libreoffice [--accept=accept-string] [--base] [--calc] [--convert-to
output_file_extension[:output_filter_name]
que tiene un comando --convertir a salida pero no estoy exactamente seguro de cómo se vería un ejemplo de eso, intenté:
libreoffice --convert-to csv:writer_csv_Export --outdir /Data/ *.xls
como https://help.libreoffice.org/Common/Starting_the_Software_With_Parameters/vi menciona pero no funciona.
command-line
libreoffice
Eduardo Dennis
fuente
fuente

libreoffice --headless --convert-to csv --outdir somedir *.xlsparece funcionar:writer_csv_Exportparece ser innecesario, y también podría ser un problema que/Data/significa un directorio llamadoDataen la raíz del sistema de archivos, no en su directorio de inicio. Simplemente omita--outdir DIRy obtendrá la salida en el directorio actual.Respuestas:
libreoffice --headless --convert-to csv --outdir somedir *.xlsparece funcionar--headlessevita que Libreoffice abra una ventana, por lo que solo convierte sus archivos y luego sale.:writer_csv_Exportdespuéscsvparece ser innecesario.También podría ser un problema que
/Data/significa un directorio llamado Datos en la raíz del sistema de archivos, no en su directorio de inicio. Simplemente omita--outdir DIRy obtendrá la salida en el directorio actual.Nota:
Cierre su archivo xls / xlsx antes de ejecutar este comando. Si se abre el archivo, este comando no funciona.
fuente
xlsx2csv. Para todo lo demás hay macros: enlace - enlace