Mesclagem de Mala Direta usando Excel em Python

A mesclagemail é uma técnica inteligente para gerar documentos personalizados em grande escala. Sejam faturas, relatórios ou certificados, você pode usar um único modelo e preenchê-lo com dados de uma planilha. Cada linha em seu arquivo Excel se torna um documento personalizado. Neste post, vamos mostrar como realizar a mesclagemail do Excel usando Python com a biblioteca Aspose.Cells.

Este artigo aborda os seguintes tópicos:

Biblioteca de Mala Direta do Excel em Python

Nós usaremos Aspose.Cells for Python via .NET para realizar a mesclagem de correspondência. Ele permite que você crie, leia e manipule planilhas do Excel diretamente do código Python. Com suporte para Marcadores Inteligentes, a biblioteca permite a vinculação de dados de forma contínua e automação do Excel.

Para instalar o Aspose.Cells for Python via .NET:

pip install aspose-cells

Mesclagem de correspondência usando Aspose.Cells for Python

Ao contrário do Word, o Aspose.Cells usa Marcadores Inteligentes para realizar a mesclagem de correspondência. Marcadores Inteligentes são tags especiais em templates do Excel que o sistema substitui por dados reais em tempo de execução. Você define marcadores como:

&=DataSource.ColumnName

Aspose.Cells processa esses marcadores linha por linha, substituindo-os por valores reais de sua fonte de dados, como uma lista de dicionários ou um objeto semelhante a DataTable.

Prepare o Modelo Excel

Crie um arquivo (por exemplo, Template.xlsx) com Marcadores Inteligentes:

NomeEmailValor
&=Data.Name&=Data.Email&=Data.Amount

Passo a Passo para Realizar a Mesclagem de Correspondência Usando Python

Esta seção descreve o procedimento para executar uma operação de mala direta usando modelos do Excel e a API Aspose.Cells for Python via .NET. O processo inclui carregar uma pasta de trabalho modelo, vinculá-la a uma fonte de dados, executar o processamento de Marcador Inteligente e salvar a saída.

Passo 1: Carregar o Workbook de Modelo

Para começar, instancie um objeto Workbook carregando o arquivo Excel que contém Marcadores Inteligentes predefinidos.

import aspose.cells as ac

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

Nota: O modelo deve conter Marcadores Inteligentes formatados como &=Data.FieldName.

Passo 2: Criar e Preencher a Fonte de Dados

Crie um DataTable para servir como fonte de dados. Defina as colunas necessárias e adicione linhas de dados que correspondam aos Marcadores Inteligentes no modelo.

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 nome de coluna no DataTable deve corresponder aos identificadores de marcador utilizados no modelo do Excel.

Passo 3: Vincule os Dados ao Livro de Trabalho

Use a classe WorkbookDesigner para associar a pasta de trabalho com a fonte de dados. Isso permite que você preencha automaticamente os Marcadores Inteligentes durante o processamento.

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

Passo 4: Processar Marcadores Inteligentes

Execute a substituição do Marcador Inteligente invocando o método process(). Isso irá iterar sobre a fonte de dados e inserir valores nos locais correspondentes na pasta de trabalho.

designer.process()

Passo 5: Salve a Pasta de Trabalho Mesclada

Salve a pasta de trabalho processada no disco no formato Excel.

workbook.save("MergedOutput.xlsx")

(Optional) Exportar a Saída como PDF

Para gerar uma versão em PDF da pasta de trabalho mesclada, configure as opções de salvamento em PDF e especifique SaveFormat.PDF durante a exportação.

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

Código completo em Python para Mail Merge

O seguinte exemplo demonstra o processo completo para criar uma mala direta a partir do Excel usando 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)

Certifique-se de que os Marcadores Inteligentes no modelo do Excel correspondam aos nomes das colunas definidos na DataTable. Por exemplo, &=Data.Name no modelo corresponde a uma coluna chamada \"Name\" na fonte de dados.

Esta implementação automatiza tarefas de geração de documentos, como faturas, relatórios ou certificados, sem exigir que o Microsoft Excel esteja instalado.

Output

Cada linha na fonte de dados gera uma nova linha personalizada no arquivo do Excel onde os Marcadores Inteligentes foram colocados.

Mail Merge do Excel em Python - Saída

Mail Merge do Excel em Python - Saída

Obtenha uma Licença Gratuita

Você pode request a free temporary license para avaliar as plenas capacidades do Aspose.Cells for Python via .NET sem limitações de avaliação.

Esta licença permite testes irrestritos de todos os recursos da API, incluindo mala direta, exportação em PDF e manipulação de grandes conjuntos de dados.

Mesclagem de Mail no Excel em Python: Recursos Gratuitos

Conclusão

A mala direta de Excel usando Python facilita a geração de documentos em larga escala. Com os Marcadores Inteligentes Aspose.Cells, você pode automatizar rapidamente esse processo em apenas algumas linhas de código. Seja enviando faturas, criando certificados ou gerando relatórios, a API Python oferece controle total e flexibilidade.

Precisa de ajuda? Junte-se ao nosso forum de suporte gratuito.

Veja Também