XLSX a PDF

Pasar de XLSX a PDF en Excel: cómo hacerlo sin perder el formato

octubre 24, 2026 Tuto Excel 13 min read
Pasar de XLSX a PDF en Excel: cómo hacerlo sin perder el formato

Pasar de Excel a PDF es una de las tareas más habituales cuando se quiere enviar una hoja por correo, imprimir un informe sin que cambien las columnas o archivar un documento que no se pueda editar. En este tutorial verás tres formas de hacerlo: desde el propio Excel con Archivo > Exportar, con un conversor online y desde código con Python (openpyxl) o Java (Apache POI). Al terminar sabrás elegir el método que mejor encaja con cada caso y arreglar los tres problemas más típicos: páginas en blanco, columnas que se cortan y PDF vacío al generarlo con código.

Funciona en todas las versiones de escritorio de Excel: Microsoft 365, 2024, 2021, 2019, 2016 y 2013, además de Excel para Mac. La opción de exportar a PDF está disponible desde Excel 2007, que fue cuando se sustituyó el formato .xls por .xlsx.

Por qué exportar de Excel a PDF y cuándo te conviene

El PDF congela el documento: lo ve igual quien lo abre que quien lo creó, sin necesidad de tener Excel instalado. Esto resuelve tres problemas del día a día.

  • Enviar una hoja de ventas por correo sin que el receptor la modifique. En vez de mandar el .xlsx, mandas el PDF: la otra persona ve los datos pero no toca las fórmulas.
  • Compartir un informe con gráficos. Al exportar, los gráficos quedan como imágenes y se ven igual en cualquier visor.
  • Imprimir un presupuesto. El PDF respeta el área de impresión, los saltos de página y la orientación, así que la tabla no se parte en dos páginas ni se descuadran las columnas.

A partir de aquí usaremos un mismo libro a lo largo del tutorial: la hoja de Pedidos de una tienda, con productos, precios, cantidades, el total por línea y un gráfico de barras con las ventas por producto. Empezará con pocas filas e irá creciendo según la necesidad que aparezca.

A B C D E
1 Producto Precio Cantidad Total Fecha
2 Cuaderno A4 2,50 12 30,00 03/10/2026
3 Bolígrafo azul 0,80 30 24,00 03/10/2026
4 Carpeta 1,75 8 14,00 04/10/2026
Pedidos

Las tres formas de hacerlo: desde Excel, con el navegador o con tu código

Las tres opciones dan el mismo resultado (un PDF) pero con compromisos distintos.

  • Desde el propio Excel (Archivo > Exportar > Crear documento PDF). Es la forma más fiable: conserva tablas, gráficos, formatos, encabezados de impresión y áreas de impresión. Necesitas tener Excel instalado y el libro abierto.
  • Con un conversor web (iLovePDF, Smallpdf, Online2PDF). No hay que instalar nada, basta con subir el archivo y pulsar Convertir. Útil cuando solo tienes el PDF puntual, no tienes Excel delante o el archivo es pequeño y no tiene macros.
  • Con código, cuando el PDF se genera dentro de un proceso automático. Las librerías más usadas son openpyxl con Python y Apache POI con Java. Para Node.js, las opciones son ExcelJS y SheetJS, pero ninguna de las dos calcula fórmulas como Excel.

La elección depende de la frecuencia, del tamaño y de si necesitas automatizarlo. Para un envío puntual, vale cualquier conversor. Para informes recurrentes, mejor la opción de Excel o un script en Python.

Guardar como PDF desde el propio Excel

La ruta es la misma desde Excel 2007: Archivo > Exportar > Crear documento PDF/XPS. Al pulsarlo se abre el cuadro Guardar como PDF o XPS, donde eliges la carpeta, el nombre del archivo y el botón Opciones para afinar qué se exporta.

  1. Abre el libro Pedidos y entra en la hoja Pedidos.
  2. Ve a Archivo > Exportar > Crear documento PDF/XPS.
  3. En Guardar como tipo, deja PDF (.pdf)*.
  4. Pulsa Opciones y revisa las tres pestañas del cuadro Opciones antes de guardar.
  5. Pulsa Publicar.
ArchivoExportarCrear documento PDF/XPS

Toda la hoja activa o solo lo que seleccionaste

El cuadro de Opciones trae un desplegable Publicar con tres valores: Hoja de cálculo activa (solo la hoja en la que estás), Selección (solo el rango que tengas marcado en ese momento) y Libro entero (todas las hojas). En el libro de pedidos, si solo quieres el resumen de la hoja Pedidos y no la hoja Costes, deja Hoja de cálculo activa. Si has seleccionado a mano el rango A1:D20, elige Selección. Si quieres enviar todo el libro de una vez, marca Libro entero.

Orientación vertical u horizontal y el ajuste al ancho

En la misma ventana de Opciones, el grupo Formato tiene las casillas Vertical, Horizontal, Ajustar a y Personalizar. Para una hoja con muchas columnas como Pedidos (Producto, Precio, Cantidad, Total, Fecha) suele convenir Horizontal. La página en blanco a la derecha muestra la previsualización en miniatura: si la columna D se va a la página 2, activa Ajustar a 1 página(s) de ancho por 1 de alto y vuelve a mirar la miniatura.

Imprimir solo las hojas que quieres

Si en el desplegable Publicar elegiste Libro entero, el cuadro principal muestra la lista de hojas del libro. Solo se exportan las que tengan la casilla marcada. Para añadir varias hojas contiguas, selecciónalas con Mayús+clic antes de abrir el cuadro: aparecerán marcadas en la lista. Para hojas sueltas, Ctrl+clic sobre cada pestaña antes de pulsar Publicar.

Convertir XLSX a PDF con un conversor web

Un conversor web es la opción más rápida cuando no tienes Excel a mano o el archivo es pequeño y no tiene macros. Los más usados son iLovePDF, Smallpdf y Online2PDF; los tres funcionan igual.

  1. Entra en la web del conversor (por ejemplo, ilovepdf.com/es/excel_a_pdf).
  2. Pulsa Subir archivo y elige el libro de pedidos, o arrástralo a la zona de carga.
  3. Elige la orientación: vertical para hojas anchas y cortas, horizontal para listas con muchas columnas.
  4. Pulsa Convertir a PDF y espera unos segundos.
  5. Pulsa Descargar el PDF y guárdalo en tu equipo.
A B C D E
1 Producto Precio Cantidad Total Fecha
2 Cuaderno A4 2,50 12 30,00 03/10/2026
3 Bolígrafo azul 0,80 30 24,00 04/10/2026
4 Carpeta 1,75 8 14,00 05/10/2026
5 Grapas 0,40 20 8,00 05/10/2026
Pedidos

Cuándo tiene sentido usar un conversor web

Conviene cuando son archivos puntuales, no necesitas instalar nada y estás en un equipo que no es el tuyo. Se conservan las tablas, los gráficos, la alineación y los formatos básicos. Se quedan fuera las macros (el conversor no las ejecuta), las fórmulas sin proteger (se ven los valores, no la fórmula) y los elementos interactivos como controles de formulario o segmentaciones. Para un PDF que solo se va a leer o imprimir, es más que suficiente.

La seguridad y los límites prácticos

  • No hace falta registrarse: los tres conversores funcionan con la versión gratuita sin cuenta.
  • El cifrado es TLS, así que la subida va cifrada; aun así, evita subir archivos con datos sensibles.
  • Smallpdf borra los archivos una hora después de la conversión.
  • Smallpdf no tiene límite de tamaño por archivo; iLovePDF sí lo tiene en la versión gratuita.
  • Online2PDF añade opciones extra que no están en los otros: rotar páginas, recortar márgenes, proteger el PDF con contraseña y aplicar OCR si el PDF resultante se va a escanear después.

Generar el PDF desde código: Python con openpyxl

Cuando el PDF se genera dentro de un proceso automático (un script que corre cada lunes a las 8:00, por ejemplo), openpyxl abre el libro, lo manda a la impresora del sistema y guarda el archivo. openpyxl no calcula fórmulas: si el libro tiene =B2*C2, hay que abrirlo una vez en Excel para que guarde los valores antes de pasarlo al script.

  1. Instala la librería con pip install openpyxl.
  2. Guarda el script en la misma carpeta que pedidos.xlsx.
  3. Ejecuta el script con python exportar.py.

import openpyxl
import subprocess
import os

# Abrir el libro de pedidos
wb = openpyxl.load_workbook("pedidos.xlsx")
ws = wb["Pedidos"]

# Definir el área de impresión para que el PDF no salga cortado
ws.print_area = "A1:E20"
ws.page_setup.orientation = ws.ORIENTATION_LANDSCAPE
ws.page_setup.fitToWidth = 1
ws.page_setup.fitToHeight = 1

# Guardar el libro con los ajustes de impresión
guardado = "pedidos_para_pdf.xlsx"
wb.save(guardado)

# Abrir el menú Imprimir del sistema y guardar como PDF
subprocess.run(["start", "", guardado], shell=True)
print("Libro abierto. Pulsa Archivo > Guardar como PDF.")

Libro abierto. Pulsa Archivo > Guardar como PDF.

Para automatizarlo del todo sin abrir el menú, en Windows se puede usar la orden printto del sistema con subprocess.run(['powershell', 'Start-Process', '-FilePath', 'Microsoft Print to PDF', ...]), pero la opción más sencilla en Mac y Linux es lanzar la aplicación con el archivo y dejar que el usuario elija Imprimir > Guardar como PDF.

Generar el PDF desde código: Java con Apache POI

Apache POI abre el XLSX, ajusta la hoja para imprimir y deja el archivo listo para que Java mande la orden de impresión. POI tampoco calcula fórmulas por defecto; con wb.setForceFormulaRecalculation(true) se le pide a Excel que las recalcule al abrirlo la próxima vez.

import org.apache.poi.xssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
import java.io.*;

public class ExportarPDF {
    public static void main(String[] args) throws Exception {
        // Abrir el libro de pedidos
        FileInputStream fis = new FileInputStream("pedidos.xlsx");
        XSSFWorkbook wb = new XSSFWorkbook(fis);
        fis.close();

        // Forzar el recálculo de fórmulas al abrir en Excel
        wb.setForceFormulaRecalculation(true);

        // Ajustar la primera hoja para imprimir en horizontal y en una página de ancho
        XSSFSheet hoja = wb.getSheet("Pedidos");
        hoja.getPrintSetup().setLandscape(true);
        hoja.getPrintSetup().setFitWidth((short) 1);
        hoja.getPrintSetup().setFitHeight((short) 1);
        hoja.setFitToPage(true);

        // Definir el área de impresión
        wb.setPrintArea(
            wb.getSheetIndex("Pedidos"),
            0, 4,   // columnas A a E
            0, 19    // filas 1 a 20
        );

        // Guardar el libro ajustado
        FileOutputStream fos = new FileOutputStream("pedidos_para_pdf.xlsx");
        wb.write(fos);
        fos.close();
        wb.close();

        System.out.println("Libro listo para imprimir como PDF.");
    }
}

Libro listo para imprimir como PDF.

Al ejecutar el .jar se obtiene el archivo pedidos_para_pdf.xlsx con el área de impresión ya definida. Para terminar, se abre el archivo y se usa Archivo > Guardar como PDF, o se manda a la impresora Microsoft Print to PDF del sistema.

Por qué el PDF sale cortado o con páginas en blanco

Estos son los tres problemas más habituales al exportar a PDF, cada uno con su arreglo.

La hoja está marcada para imprimir en varias páginas

Sin un área de impresión definida, Excel parte la hoja por los saltos automáticos y el contenido se reparte en varias páginas. La columna D de Pedidos puede acabar sola en la página 2.

A1fx**Producto**
A B C D E
1 Producto Precio Cantidad Total Fecha
2 Cuaderno A4 2,50 12 30,00 03/10/2026
3 Bolígrafo azul 0,80 30 24,00 04/10/2026
4 Carpeta 1,75 8 14,00 05/10/2026
Pedidos
  1. Selecciona el rango que quieres imprimir, por ejemplo A1:E20.
  2. Ve a Diseño de página > Área de impresión > Establecer área de impresión.
  3. Vuelve a Archivo > Exportar > Crear documento PDF/XPS y comprueba la previsualización.
Diseño de páginaÁrea de impresiónEstablecer área de impresión

Las columnas no caben en una página

Con cinco columnas en vertical, la columna E (Fecha) se va a la página 2. La solución es pedirle a Excel que escale la hoja para que entre en una página de ancho.

  1. Ve a Diseño de página > Ajustar área de impresión.
  2. En Ancho, elige 1 página.
  3. En Alto, deja Automático si la hoja tiene pocas filas, o 1 página si quieres que entre todo en una sola hoja.
  4. Exporta de nuevo a PDF y mira la previsualización.
Diseño de páginaAjustar área de impresión

El PDF sale vacío al generarlo con código

Este es el caso típico de openpyxl y POI: las celdas con fórmula se ven vacías en el PDF porque la librería no las calcula. La columna D del libro Pedidos tiene =B2*C2, pero al generarlo con código el PDF muestra la columna D en blanco.

D2fx=B2*C2
A B C D E
1 Producto Precio Cantidad Total Fecha
2 Cuaderno A4 2,50 12 30,00 03/10/2026
3 Bolígrafo azul 0,80 30 24,00 04/10/2026
4 Carpeta 1,75 8 14,00 05/10/2026
Pedidos

=B2*C2

El arreglo es abrir el archivo una vez en Excel y guardarlo: al guardarlo, Excel deja junto a la fórmula el último valor calculado, que es el que el script podrá leer o imprimir. Si solo necesitas leer los valores desde Python, usa load_workbook("pedidos.xlsx", data_only=True) y la celda devolverá 30,00 en vez de la fórmula.

Cuidado: con data_only=True, si el archivo nunca se abrió en Excel, openpyxl devuelve None y la celda aparece vacía. Por eso es importante abrir y guardar el archivo al menos una vez antes de procesarlo.

Lo que ya sabes hacer con Excel y PDF

  • La ruta del propio Excel: Archivo > Exportar > Crear documento PDF/XPS, con el cuadro de Opciones para decidir qué se publica, en qué orientación y con qué ajuste.
  • El conversor web: subir el archivo, elegir orientación, pulsar Convertir y descargar. Útil para envíos puntuales.
  • Python con openpyxl: abrir el libro, definir el área de impresión, ajustar la orientación y guardar. Necesita que Excel haya calculado las fórmulas antes.
  • Java con Apache POI: abrir el XSSFWorkbook, llamar a setForceFormulaRecalculation(true), definir el área de impresión y guardar.
  • Los tres arreglos de los errores: definir el área de impresión, escalar al ancho de una página y abrir el archivo en Excel antes de pasarlo al script.

El siguiente paso natural es crear un área de impresión fija en Diseño de página > Área de impresión > Establecer área de impresión para los informes recurrentes, así no tendrás que redefinirla cada vez que exportes a PDF.

Dudas al pasar de Excel a PDF

1. ¿Cómo pasar un Excel a PDF?

Abre el libro, ve a Archivo > Guardar como, elige PDF en el desplegable de tipo y pulsa Guardar. También puedes usar Archivo > Exportar > Crear documento PDF para ajustar antes qué hojas y áreas se incluyen.

2. ¿Cómo convertir Excel a PDF sin que se descuadre el formato?

Antes de exportar, ve a Diseño de página > Tamaño y configura Área de impresión con el rango exacto que quieres pasar al PDF. En las opciones de impresión marca «Ajustar a» para que la tabla entre en una sola página y no se corte.

3. ¿Cómo pasar un XLSX a PDF gratis?

Excel permite guardar como PDF sin coste extra: Archivo > Guardar como > PDF, sin necesidad de programas adicionales. Solo necesitas tener Excel instalado o una cuenta gratuita de Excel para la web, que también exporta a PDF desde el menú Archivo.

4. ¿Cómo pasar un Excel a Word con iLovePDF?

iLovePDF no convierte de Excel a Word; su web trabaja con PDF. Para llevar una tabla de Excel a un documento .docx, lo más sencillo es seleccionar las celdas, copiarlas y pegarlas en Word, o usar Archivo > Guardar como > PDF y luego pasar ese PDF a Word.

5. ¿Cómo convertir un Excel a PDF en una sola hoja?

Selecciona el rango, ve a Diseño de página > Área de impresión > Establecer área de impresión y luego abre la vista previa con Ctrl+P. En la pestaña Diseño de página, en Escala, marca «Ajustar a» con 1 página de ancho por 1 de alto antes de exportar a PDF.

6. ¿Cómo pasar un Excel a PDF gratis y sin registrarse?

Con tu propio Excel no hace falta registro: Archivo > Guardar como > PDF y listo, sin subir el archivo a Internet. Si no tienes Excel a mano, Excel para la web (gratis con cuenta de Microsoft) también exporta a PDF desde el menú Archivo sin instalar nada.

Fuentes

  1. MicrosoftFormatos de archivo de Excel — documentación oficialconsultado el 07/10/2026
  2. GoogleExcel y Google Sheets (Hojas de cálculo de Google) — documentación oficialconsultado el 07/10/2026
  3. MicrosoftDe Word a Excel — documentación oficialconsultado el 07/10/2026
  4. SheetjsExcel con Node.js (ExcelJS y SheetJS) — documentación oficialconsultado el 07/10/2026