
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:
- Python Excel Library for Mail Merge
- Como a Mala Direta Funciona no Aspose.Cells
- Guia Passo a Passo para Mail Merge em Python
- Código Python Completo para Mail Merge usando Excel
- Recursos Grátis
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:
Nome | Valor | |
---|---|---|
&=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
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
- Documentação do Aspose.Cells Python
- Ferramentas Online do Excel
- Referência da API Aspose.Cells
- Tutoriais e Guias
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.