Ir al contenido

Excel to PDF

Tipo: excel-to-pdf  ·  Paquete: Excel Activities v1.0.6  ·  Salida: string

Convierte un libro de Excel a PDF: un reporte que vas a enviar por correo, un estado de cuenta para archivar, una cotización para un cliente. Acepta .xlsx, .xlsm, .xls, .csv y .ods —también los formatos que el resto del paquete no lee—, y devuelve la ruta del PDF generado.

  1. Toma el libro de path y decide dónde guardar el PDF: en outputPath o, si lo omites, en la misma carpeta y con el mismo nombre que el libro, con extensión .pdf. Las rutas relativas se resuelven desde la carpeta de trabajo del robot.
  2. Convierte con el motor indicado en engine:
    • auto (por defecto): intenta primero LibreOffice y, si no está o falla, Microsoft Excel.
    • libreoffice: solo LibreOffice.
    • excel: solo Microsoft Excel (solo en Windows). Excel se abre oculto y se cierra sin guardar cambios en el libro.
  3. Devuelve la ruta completa del PDF.

El PDF incluye el libro completo, con la configuración de página guardada en el archivo (área de impresión, orientación, márgenes). Si ya existe un PDF en la ruta de destino, se sobrescribe. Las carpetas que falten se crean solas. La conversión no tiene tiempo límite propio: espera a que el motor termine (se interrumpe si se detiene la ejecución).

LibreOffice se ejecuta con un perfil temporal propio, así que la conversión funciona aunque tengas LibreOffice abierto.

ParámetroTipoPor defectoDescripción
pathstring—Ruta del libro a convertir (.xlsx, .xlsm, .xls, .csv, .ods). Debe existir.
ParámetroTipoPor defectoDescripción
outputPathstring—Ruta del .pdf de destino. Si se omite, la misma carpeta y nombre del libro con extensión .pdf.
enginestring"auto"Motor de conversión: auto · libreoffice · excel. auto prueba LibreOffice y luego Microsoft Excel. Un valor no reconocido se trata como auto.

Devuelve un string con la ruta completa (absoluta) del PDF generado, ej. C:\reportes\pdf\ventas-septiembre.pdf.

Cuando ningún motor logra convertir, la actividad falla con un único mensaje que reúne el motivo de cada intento, separados por |:

MensajeCausa y solución
'path' es obligatorio.path está vacío.
No se encontró el archivo.La ruta de path no existe en la máquina donde corre el robot.
No se pudo convertir el libro a PDF. LibreOffice: no se encontró 'soffice' (instala LibreOffice o define ZOAN_SOFFICE_PATH).LibreOffice no está instalado (o no está donde se busca). Instálalo o define ZOAN_SOFFICE_PATH.
… Excel: Microsoft Excel no está instalado.Se intentó convertir con Excel y no está instalado.
… Excel: la automatización COM requiere Windows.El motor excel solo funciona en Windows. En otros sistemas, usa LibreOffice.
… LibreOffice: LibreOffice could not convert the document (exit …).LibreOffice no pudo abrir o convertir el archivo (dañado, protegido con contraseña…). El mensaje incluye el detalle que devolvió LibreOffice.

Para conversiones que dependen de recursos del equipo, envuelve la actividad en un Try / Catch y registra el mensaje: indica exactamente qué motor falló y por qué.

Llenar una plantilla, convertirla a PDF y enviarla:

Copy File source = asset("plantilla_cotizacion.xlsx") destination = "C:/cotizaciones/COT-0815.xlsx" overwrite = true
Write Excel Cell path = "C:/cotizaciones/COT-0815.xlsx" sheet = "Cotización" cell = "B4" value = cliente
Excel to PDF path = "C:/cotizaciones/COT-0815.xlsx" → output: rutaPdf
Gmail — Send to = "compras@example.com" subject = "Cotización COT-0815" attachments = rutaPdf

Guardar el PDF en otra carpeta:

Excel to PDF path = rutaReporte outputPath = "C:/reportes/pdf/ventas-septiembre.pdf" → output: rutaPdf