Combinar correspondencia usando Excel en Python

La combinación de correspondencia es una técnica inteligente para generar documentos personalizados a gran escala. Ya sean facturas, informes o certificados, puedes usar una única plantilla y rellenarla con datos de una hoja de cálculo. Cada fila en tu archivo de Excel se convierte en un documento personalizado. En esta publicación, te mostraremos cómo realizar una combinación de correspondencia desde Excel utilizando Python con la biblioteca Aspose.Cells.

Este artículo cubre los siguientes temas:

Biblioteca de combinación de correo de Excel en Python

Usaremos Aspose.Cells for Python a través de .NET para realizar la combinación de correspondencia. Te permite crear, leer y manipular hojas de cálculo de Excel directamente desde código Python. Con el soporte para Smart Markers, la biblioteca permite la vinculación de datos sin problemas y la automatización de Excel.

Para instalar Aspose.Cells for Python a través de .NET:

pip install aspose-cells

Combinar correspondencia usando Aspose.Cells for Python

A diferencia de Word, Aspose.Cells utiliza Marcadores Inteligentes para realizar la combinación de correspondencia. Los Marcadores Inteligentes son etiquetas especiales en las plantillas de Excel que el sistema reemplaza con datos reales en tiempo de ejecución. Defines marcadores como:

&=DataSource.ColumnName

Aspose.Cells procesa estos marcadores fila por fila, reemplazándolos con valores reales de su fuente de datos, como una lista de diccionarios o un objeto similar a DataTable.

Prepare the Excel Template

Crea un archivo (por ejemplo, Template.xlsx) con Marcadores Inteligentes:

NombreCorreoMonto
&=Data.Name&=Data.Email&=Data.Amount

Guía Paso a Paso para Realizar Combinación de Correspondencia Usando Python

Esta sección describe el procedimiento para ejecutar una operación de combinación de correspondencia utilizando plantillas de Excel y la API de Aspose.Cells for Python a través de .NET. El proceso incluye cargar un libro de plantilla, enlazarlo a una fuente de datos, ejecutar el procesamiento de Marcadores Inteligentes y guardar la salida.

Paso 1: Cargar el Libro de Plantilla

Para comenzar, instancie un objeto Workbook cargando el archivo de Excel que contiene Marcadores Inteligentes predefinidos.

import aspose.cells as ac

workbook = ac.Workbook("Template.xlsx")

Nota: La plantilla debe contener Marcadores Inteligentes formateados como &=Data.FieldName.

Paso 2: Crear y Poblar la Fuente de Datos

Crea un DataTable para servir como fuente de datos. Define las columnas requeridas y agrega filas de datos que correspondan a los Smart Markers en la plantilla.

table = ac.DataTable("Data")
table.columns.add("Name")
table.columns.add("Email")
table.columns.add("Amount")

table.rows.add(["Alice", "alice@example.com", 1000])
table.rows.add(["Bob", "bob@example.com", 1500])

Cada nombre de columna en el DataTable debe coincidir con los identificadores de marcador utilizados en la plantilla de Excel.

Paso 3: Vincula los datos al libro de trabajo

Usa la clase WorkbookDesigner para asociar el libro de trabajo con la fuente de datos. Esto te permite llenar automáticamente los Marcadores Inteligentes durante el procesamiento.

designer = ac.WorkbookDesigner()
designer.workbook = workbook
designer.set_data_source(table)

Paso 4: Procesar Marcadores Inteligentes

Ejecute el reemplazo del marcador inteligente invocando el método process(). Esto iterará sobre la fuente de datos e insertará valores en las ubicaciones correspondientes en el libro de trabajo.

designer.process()

Paso 5: Guarda el libro de trabajo combinado

Guarda el libro de trabajo procesado en disco en formato de Excel.

workbook.save("MergedOutput.xlsx")

(Optional) Export the Output as PDF

Para generar una versión en PDF del libro de trabajo combinado, configure las opciones de guardado de PDF y especifique SaveFormat.PDF durante la exportación.

pdf_options = ac.PdfSaveOptions()
workbook.save("MergedOutput.pdf", ac.SaveFormat.PDF)

Full Python Code for Mail Merge

El siguiente ejemplo demuestra el proceso completo para crear una combinación de correspondencia desde Excel utilizando Aspose.Cells for Python.

import aspose.cells as ac

# Load template
workbook = ac.Workbook("Template.xlsx")

# Create data source
table = ac.DataTable("Data")
table.columns.add("Name")
table.columns.add("Email")
table.columns.add("Amount")
table.rows.add(["Alice", "alice@example.com", 1000])
table.rows.add(["Bob", "bob@example.com", 1500])

# Connect data source
designer = ac.WorkbookDesigner()
designer.workbook = workbook
designer.set_data_source(table)
designer.process()

# Save output
workbook.save("MergedOutput.xlsx")

# Export to PDF
pdf_options = ac.PdfSaveOptions()
workbook.save("MergedOutput.pdf", ac.SaveFormat.PDF)

Asegúrate de que los Marcadores Inteligentes en la plantilla de Excel coincidan con los nombres de columna definidos en el DataTable. Por ejemplo, &=Data.Name en la plantilla corresponde a una columna llamada \"Name\" en la fuente de datos.

Esta implementación automatiza tareas de generación de documentos, como facturas, informes o certificados, sin requerir que Microsoft Excel esté instalado.

Output

Cada fila en la fuente de datos genera una nueva fila personalizada en el archivo de Excel donde se colocaron los Marcadores Inteligentes.

Mail Merge desde Excel en Python - Salida

Mail Merge desde Excel en Python - Salida

Obtén una licencia gratuita

Puedes solicitar una licencia temporal gratuita para evaluar todas las capacidades de Aspose.Cells for Python a través de .NET sin restricciones de evaluación.

Esta licencia permite la prueba sin restricciones de todas las características de la API, incluyendo la combinación de correspondencia, la exportación a PDF y el manejo de grandes conjuntos de datos.

Excel Mail Merge en Python: Recursos gratuitos

Conclusión

La combinación de correspondencia desde Excel utilizando Python facilita la generación de documentos a gran escala. Con los Smart Markers de Aspose.Cells, puedes automatizar este proceso rápidamente en solo unas pocas líneas de código. Ya sea enviando facturas, construyendo certificados o generando informes, la API de Python proporciona control y flexibilidad total.

¿Necesitas ayuda? Únete a nuestro foro de soporte gratuito.

Ver también