Acción rápida CSV a XLS en macOS

Convierte rápidamente archivos CSV a formato XLS (Excel 97-2003) desde el menú contextual del Finder en macOS usando LibreOffice. Automatiza...

Convierte rápidamente archivos CSV a formato XLS (Excel 97-2003) desde el menú contextual del Finder en macOS usando LibreOffice. Automatiza el proceso con una Acción rápida que funciona tanto para archivos individuales como carpetas completas.

Pasos a seguir:

  • Abrimos Automator con Cmd + Espacio
  • Pulsamos en Nuevo documento, tipo Acción rápida
  • La configuramos de la siguiente forma. Flujo: archivos o carpetas, En: Finder, Añadir acción: Ejecutar script de shell, Shell: bin/bash, Pasar datos: como argumentos
  • Añadimos este código en el apartado script, luego pulsamos en Archivo, Guardar, lo nombramos ‘CSV a XLS’ y listo.
for f in "$@"
do
  if [ -d "$f" ]; then
    find "$f" -type f -name "*.csv" -print0 | while IFS= read -r -d '' file; do
      /Applications/LibreOffice.app/Contents/MacOS/soffice \
      --headless --convert-to xls:"MS Excel 97" "$file" \
      --outdir "$(dirname "$file")"
    done
  else
    /Applications/LibreOffice.app/Contents/MacOS/soffice \
    --headless --convert-to xls:"MS Excel 97" "$f" \
    --outdir "$(dirname "$f")"
  fi
done

Con esto ya tenemos funcionando nuestro menú contextual