
Las tablas PDF suelen contener datos que necesita ordenar, filtrar o analizar en Excel. Copiar y pegar puede dejar esos datos en una sola columna o alterar su estructura de filas. La característica integrada Desde PDF de Excel ofrece una forma más directa de importar tablas detectadas en celdas de la hoja de cálculo.
Esta guía explica cómo importar tablas PDF con Power Query, combinar tablas en varias páginas, conservar los ceros iniciales y comprobar los espacios en el texto ajustado. También incluye un flujo de trabajo con Python para extraer tablas de una carpeta de archivos PDF a libros de Excel.
Los pasos de Power Query a continuación usan Excel para Windows con el conector Desde PDF disponible. Comience con un PDF basado en texto; las páginas escaneadas requieren un flujo de trabajo de OCR antes de que se puedan extraer los datos de sus tablas.
- Importar tablas PDF a Excel con Power Query
- Combinar tablas en varias páginas
- Conservar los ceros iniciales en columnas de ID
- Verificar el texto ajustado y cargar la tabla final
- Automatizar la extracción de tablas PDF a Excel con Python
- Preguntas frecuentes
- Conclusión
1. Importar tablas PDF a Excel con Power Query
La característica Desde PDF de Excel le permite identificar tablas en un PDF e importar sus datos a celdas de la hoja de cálculo. Abra la tabla en el Editor de Power Query para revisar su contenido antes de cargarla.
- Abra Excel y seleccione Datos → Obtener datos → Desde archivo → Desde PDF.
- Seleccione su archivo PDF y haga clic en Importar.
- En la ventana Navegador, seleccione una entrada de Tabla detectada para obtener una vista previa de su contenido. Compruebe que contiene las filas y columnas que necesita.
- Haga clic en Transformar datos para abrir el Editor de Power Query.
- Revise la tabla y, después, seleccione Inicio → Cerrar y cargar para cargarla en una hoja de cálculo de Excel.
Si la vista previa ya es correcta y no se necesitan ajustes, puede hacer clic en Cargar directamente en el Navegador.
Para las tablas que requieren combinación o limpieza, realice los ajustes descritos en las secciones siguientes antes de cargar el resultado final.
2. Combinar tablas en varias páginas
Power Query puede reconocer una tabla que abarca varias páginas de PDF como una sola tabla o como tablas separadas. Revise las entradas en el Navegador antes de decidir si debe anexarlas.
Cuando Power Query detecta una sola tabla
Los encabezados consistentes repetidos en cada página pueden ayudar a Power Query a reconocer toda la tabla. En el Navegador, puede aparecer como una sola entrada, como Tabla001 (Página 1–3) .
Seleccione esa entrada y compruebe la vista previa. Si contiene todos los registros necesarios, haga clic en Cargar , o elija Transformar datos para realizar ajustes primero. No se necesita ninguna operación de anexar.
Cuando Power Query detecta tablas separadas
Si solo la primera página contiene encabezados, Power Query puede detectar las páginas de continuación como tablas separadas con nombres de columna genéricos como Column1, Column2 y Column3.
Para combinarlas:
- En el Navegador, habilite Seleccionar varios elementos.
- Seleccione las tablas que pertenecen a la misma tabla de varias páginas y compruebe sus vistas previas.
- Haga clic en Transformar datos. Cada tabla seleccionada aparece como una consulta separada en el Editor de Power Query.
- Use los encabezados de la primera tabla como referencia y cambie el nombre de las columnas correspondientes en las tablas de continuación. Por ejemplo, cambie el nombre de
Column1aEmployee IDy deColumn2aFull Name.
- Compruebe que los nombres de columna correspondientes coincidan exactamente, incluidos los espacios, antes de anexar.
Los encabezados de una sola palabra, como Department, por lo general no necesitan volver a escribirse. Preste más atención a los encabezados de varias palabras, especialmente a los que se ajustan en varias líneas en el PDF.
Por ejemplo, Employee e ID pueden aparecer en líneas separadas en la celda de origen. El Navegador puede mostrar el encabezado como Employee ID , aunque su nombre real contiene un salto de línea en lugar de un espacio. Cambiar el nombre de la columna de otra tabla a Employee ID con un espacio normal crearía entonces una discrepancia.
Para un encabezado ajustado, haga clic con el botón derecho en la columna de la primera consulta y seleccione Cambiar nombre . Seleccione todo el nombre existente y escriba manualmente un nombre de una sola línea, como Employee ID. Use ese nombre exacto para las columnas correspondientes en las otras consultas. Evite copiar el encabezado ajustado original, que puede conservar el salto de línea oculto.
Una vez que los nombres de columna sean coherentes:
- Seleccione una consulta y elija Inicio → Anexar consultas ▼ → Anexar consultas como nueva.
- Elija Dos tablas o Tres o más tablas , según el número de consultas.
- Seleccione las tablas que desea anexar. Para tres o más tablas, agréguelas a la lista Tablas para anexar y ordénelas según el orden de las páginas del PDF.
- Haga clic en Aceptar para crear la consulta combinada.
Power Query anexa datos haciendo coincidir los nombres de columna, en lugar de las posiciones de columna. Si el resultado contiene dos columnas aparentemente idénticas o valores nulos inesperados, vuelva a las consultas de origen y compruebe sus nombres en busca de saltos de línea ocultos o espacios adicionales.
Por último, revise la tabla combinada en busca de registros faltantes, filas de encabezado repetidas y texto no deseado del pie de página antes de cargarla en Excel.
3. Conservar los ceros iniciales en columnas de ID
Los ID de empleado, códigos de producto e identificadores similares pueden contener ceros iniciales. Si Power Query asigna un tipo de datos numérico a estos valores, un ID como 00123 puede aparecer como 123.
Para conservar el ID original:
- En el Editor de Power Query, seleccione la columna Employee ID.
- Abra el menú Tipo de datos y cambie Número entero a Texto.
- Si se le solicita reemplazar la conversión de tipo existente, elija Reemplazar actual.
- Compruebe que los valores muestren sus ceros iniciales, por ejemplo,
00123en lugar de123.
Trate los identificadores como texto incluso cuando contengan solo dígitos. Su propósito es identificar registros, en lugar de servir como valores para cálculos.
Realice este ajuste antes de cargar los datos en Excel. Si cambiar el tipo no restaura los ceros, compare los valores con el PDF original; los ceros faltantes no se pueden inferir de forma fiable a menos que los identificadores sigan una regla conocida de longitud fija.
4. Verificar el texto ajustado y cargar la tabla final
El texto que se ajusta en varias líneas en una celda de PDF puede unirse sin un espacio durante la importación. Por ejemplo, un nombre que se muestra como Robert en una línea y Williams en la siguiente puede convertirse en RobertWilliams.
Compruebe las columnas que contienen nombres, direcciones y descripciones con el PDF original. Corrija individualmente los errores de espaciado confirmados. Para un valor incorrecto específico, seleccione la columna y use Transformar → Reemplazar valores para reemplazarlo con el texto correcto.
Evite aplicar una regla general que inserte espacios donde el texto se ajustó. Una sola palabra también puede ajustarse en varias líneas: Coordinato seguido de r debería convertirse en Coordinator , sin un espacio.
Antes de cargar la tabla final, verifique que:
- El número de registros coincide con la tabla de origen.
- Los registros en los límites de página están completos.
- Las columnas de ID conservan sus ceros iniciales.
- El texto ajustado tiene el espaciado correcto.
- Las columnas numéricas y de fecha usan tipos de datos adecuados.
Luego seleccione Inicio → Cerrar y cargar ▼ → Cerrar y cargar en , elija Tabla , y seleccione la hoja de cálculo de destino.
Si anexó varias consultas de nivel de página, cargue solo la consulta combinada final como una tabla de hoja de cálculo. Establezca las consultas intermedias en Solo crear conexión para que sigan disponibles para la consulta combinada sin crear tablas de hoja de cálculo separadas.
5. Automatizar la extracción de tablas PDF a Excel con Python
Power Query proporciona una forma interactiva de importar y preparar datos de tablas PDF. Cuando necesite procesar varios archivos PDF repetidamente, puede automatizar la extracción con Python.
El siguiente ejemplo usa Spire.PDF for Python para detectar tablas y leer el contenido de sus celdas, y openpyxl , una biblioteca de Excel de código abierto, para escribir los datos extraídos en archivos XLSX. Cada PDF produce un libro, con cada tabla detectada guardada en una hoja de cálculo separada.
Instalar las bibliotecas
Instale ambos paquetes:
pip install Spire.PDF openpyxl
Código de extracción por lotes
Actualice INPUT_FOLDER y OUTPUT_FOLDER para que coincidan con sus directorios. El script lee archivos PDF directamente desde la carpeta de entrada, examina cada página y guarda los libros resultantes en la carpeta de salida.
from pathlib import Path
from spire.pdf import PdfDocument, PdfTableExtractor
from openpyxl import Workbook
from openpyxl.styles import Alignment
INPUT_FOLDER = Path(r"E:\Documents\input")
OUTPUT_FOLDER = Path(r"E:\Documents\output")
def extract_pdf_tables_to_excel(pdf_path, output_path):
doc = PdfDocument()
try:
doc.LoadFromFile(str(pdf_path))
extractor = PdfTableExtractor(doc)
workbook = Workbook()
workbook.remove(workbook.active)
table_count = 0
# Extract tables from every page.
for page_index in range(doc.Pages.Count):
tables = extractor.ExtractTable(page_index)
if tables is None:
continue
for table_index in range(len(tables)):
table = tables[table_index]
row_count = table.GetRowCount()
column_count = table.GetColumnCount()
if row_count == 0 or column_count == 0:
continue
sheet = workbook.create_sheet(
title=f"Page{page_index + 1}_Table{table_index + 1}"
)
for row_index in range(row_count):
for column_index in range(column_count):
text = table.GetText(row_index, column_index)
cell = sheet.cell(
row=row_index + 1,
column=column_index + 1
)
# Preserve extracted values as literal text.
cell.value = text if text is not None else ""
cell.data_type = "s"
cell.number_format = "@"
cell.alignment = Alignment(
vertical="top",
wrap_text=True
)
for column_cells in sheet.columns:
column_letter = column_cells[0].column_letter
sheet.column_dimensions[column_letter].width = 22
table_count += 1
if table_count == 0:
print(f"Skipped: {pdf_path.name} — no tables detected.")
return
workbook.save(str(output_path))
print(
f"Saved: {output_path.name} "
f"({table_count} tables)"
)
finally:
doc.Close()
def main():
if not INPUT_FOLDER.is_dir():
raise FileNotFoundError(
f"Input folder not found: {INPUT_FOLDER}"
)
OUTPUT_FOLDER.mkdir(parents=True, exist_ok=True)
pdf_files = sorted(
(
path for path in INPUT_FOLDER.iterdir()
if path.is_file() and path.suffix.lower() == ".pdf"
),
key=lambda path: path.name.lower()
)
if not pdf_files:
print("No PDF files found in the input folder.")
return
for pdf_path in pdf_files:
output_path = OUTPUT_FOLDER / f"{pdf_path.stem}.xlsx"
try:
extract_pdf_tables_to_excel(pdf_path, output_path)
except Exception as error:
print(f"Failed: {pdf_path.name} — {error}")
if __name__ == "__main__":
main()
El script llama a ExtractTable() para cada página del PDF, luego lee cada tabla detectada con GetRowCount(), GetColumnCount() y GetText(). Las celdas extraídas se escriben en sus filas y columnas correspondientes en una nueva hoja de cálculo.
Los archivos sin tablas detectadas se omiten. Si un PDF no se procesa, el script informa el error y continúa con los archivos restantes.
También te puede interesar: Extraer tablas de PDF con Python
Salida y consideraciones

Un PDF llamado report.pdf produce un libro llamado report.xlsx. Los nombres de las hojas de cálculo identifican la página y la tabla de origen, como Page1_Table1, Page1_Table2 y Page2_Table1.
Todos los valores extraídos se escriben como texto. Esto conserva los ceros iniciales presentes en el contenido extraído, como 00123, y evita que el texto que comienza con = se interprete como una fórmula de Excel. Los importes y las fechas también permanecen como texto y pueden necesitar conversión antes de realizar cálculos o análisis basados en fechas.
Este ejemplo exporta datos de tablas en lugar de reproducir la apariencia original del PDF. No recrea las fuentes, los bordes ni el formato de celdas combinadas de origen, y no corrige errores de extracción como espacios faltantes. Si una tabla de varias páginas se detecta como tablas separadas, esas partes se guardan en hojas de cálculo separadas en lugar de combinarse automáticamente.
Revise el libro generado con el PDF de origen antes de usar sus datos. Ejecutar el script de nuevo sobrescribe los archivos XLSX existentes con los mismos nombres en la carpeta de salida.
6. Preguntas frecuentes
¿Por qué no encuentro la opción Desde PDF en Excel?
Los conectores disponibles dependen de su versión y plataforma de Excel. Compruebe Datos → Obtener datos → Desde archivo para Desde PDF . Si no aparece, verifique si su instalación admite el conector de PDF. Los pasos de importación de Power Query de esta guía suponen que la opción está disponible.
¿Puedo importar una tabla de PDF escaneado con estos métodos?
Un PDF escaneado almacena el contenido de sus páginas como imágenes. Los flujos de trabajo mostrados aquí no incluyen OCR, por lo que están pensados para PDF basados en texto. Para documentos escaneados, use una herramienta de OCR que pueda reconocer la estructura de tablas y exportar datos estructurados, luego compare los valores extraídos con el origen.
¿La tabla de Excel importada se verá exactamente como el PDF?
Estos métodos se centran en extraer datos de celdas para usarlos en Excel. No garantizan que se reproduzcan las fuentes, los colores, los bordes, los anchos de columna ni las celdas combinadas del PDF. Aplique formato de Excel después de la importación si necesita una apariencia determinada.
¿Puedo actualizar la tabla de Power Query cuando cambia el PDF?
Sí. Si el PDF de origen se actualiza en la misma ruta de archivo, use Datos → Actualizar todo para volver a ejecutar la consulta. Revise el resultado después, especialmente si ha cambiado el número de páginas, las tablas detectadas o la estructura de columnas. Esos cambios pueden requerir ajustes en la consulta.
7. Conclusión
Importar tablas PDF en Excel implica más que detectar filas y columnas. Power Query proporciona un punto de partida práctico, pero los siguientes pasos dependen del resultado: una tabla de varias páginas puede estar lista para cargarse como una sola tabla, o sus secciones pueden necesitar nombres de columna coincidentes antes de poder anexarlas. Los ceros iniciales y los espacios en el texto ajustado también merecen atención porque una tabla aparentemente limpia aún puede contener valores alterados.
Para tareas recurrentes, el flujo de trabajo con Python amplía este proceso a una carpeta de PDF, guardando cada archivo como un libro con hojas de cálculo separadas para sus tablas detectadas. Elija el flujo de trabajo que se adapte a su carga de trabajo, luego compare la salida con el PDF de origen, en particular los identificadores, el texto de varias líneas y los registros en los límites de página. Estas comprobaciones ayudan a garantizar que los datos importados estén listos para filtrar, calcular y realizar más análisis.