
La fusione della posta è una tecnica intelligente per generare documenti personalizzati su larga scala. Sia che si tratti di fatture, rapporti o certificati, puoi utilizzare un unico modello e compilarlo con i dati di un foglio di calcolo. Ogni riga nel tuo file Excel diventa un documento personalizzato. In questo post, ti mostreremo come eseguire la fusione della posta da Excel utilizzando Python con la libreria Aspose.Cells.
Questo articolo tratta i seguenti argomenti:
- Biblioteca Python Excel per Mail Merge
- Come funziona la Mail Merge in Aspose.Cells
- Guida passo dopo passo per la fusione della posta in Python
- Full Python Code for Mail Merge using Excel
- Risorse gratuite
Libreria di unione di posta Excel Python
Utilizzeremo Aspose.Cells for Python via .NET per eseguire il merging delle email. Ti consente di creare, leggere e manipolare fogli di calcolo Excel direttamente dal codice Python. Con supporto per i Marker Intelligenti, la libreria consente un binding dei dati senza soluzione di continuità e automazione di Excel.
Per installare Aspose.Cells for Python tramite .NET:
pip install aspose-cells
Mail Merge using Aspose.Cells for Python
A differenza di Word, Aspose.Cells utilizza Smart Markers per eseguire la fusione della corrispondenza. Gli Smart Markers sono tag speciali nei modelli Excel che il sistema sostituisce con dati reali in fase di esecuzione. Definisci marcatori come:
&=DataSource.ColumnName
Aspose.Cells elabora questi marcatori riga per riga, sostituendoli con valori reali dalla tua sorgente dati, come un elenco di dizionari o un oggetto simile a DataTable.
Prepara il template di Excel
Crea un file (ad esempio, Template.xlsx
) con Smart Markers:
Nome | Importo | |
---|---|---|
&=Data.Nome | &=Data.Email | &=Data.Importo |
Guida Passo-Passo per Eseguire il Mail Merge Utilizzando Python
Questa sezione descrive la procedura per eseguire un’operazione di mail merge utilizzando modelli Excel e l’API Aspose.Cells for Python tramite .NET. Il processo include il caricamento di un workbook modello, il binding a una fonte di dati, l’esecuzione del processo di Smart Marker e il salvataggio dell’output.
Passo 1: Carica il Modello di Lavoro
Per iniziare, istanzia un oggetto Workbook
caricando il file Excel che contiene i marker intelligenti predefiniti.
import aspose.cells as ac
workbook = ac.Workbook("Template.xlsx")
Nota: Il modello deve contenere Smart Markers formattati come
&=Data.FieldName
.
Passo 2: Creare e Popolare la Fonte Dati
Crea un DataTable
da utilizzare come origine dei dati. Definisci le colonne necessarie e aggiungi righe di dati che corrispondano ai Marcatori Intelligenti nel modello.
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])
Ogni nome di colonna nel
DataTable
dovrebbe corrispondere agli identificatori dei marker utilizzati nel modello di Excel.
Step 3: Associa i dati al libro di lavoro
Usa la classe WorkbookDesigner
per associare il workbook con la sorgente dati. Questo ti consente di popolare automaticamente i Smart Markers durante l’elaborazione.
designer = ac.WorkbookDesigner()
designer.workbook = workbook
designer.set_data_source(table)
Passo 4: Elabora Marcatori Intelligenti
Eseguire la sostituzione dello Smart Marker richiamando il metodo process()
. Questo itera sulla sorgente dei dati e inserisce i valori nelle posizioni corrispondenti nel workbook.
designer.process()
Passo 5: Salva il Workbook Unito
Salva il file di lavoro elaborato su disco in formato Excel.
workbook.save("MergedOutput.xlsx")
(Optional) Export the Output as PDF
Per generare una versione PDF del workbook unito, configura le opzioni di salvataggio PDF e specifica SaveFormat.PDF
durante l’esportazione.
pdf_options = ac.PdfSaveOptions()
workbook.save("MergedOutput.pdf", ac.SaveFormat.PDF)
Full Python Code for Mail Merge
L’esempio seguente dimostra il processo completo per creare un’unione di corrispondenza da Excel utilizzando 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)
Assicurati che i Marcatori Intelligenti nel modello Excel corrispondano ai nomi delle colonne definiti nel
DataTable
. Ad esempio,&=Data.Name
nel modello corrisponde a una colonna chiamata\"Name\"
nella fonte dei dati.
Questa implementazione automatizza le attività di generazione di documenti, come fatture, report o certificati senza richiedere l’installazione di Microsoft Excel.
Output
Ogni riga nella fonte dei dati genera una nuova riga personalizzata nel file Excel in cui sono stati posizionati i Marker Smart.

Mail Merge da Excel in Python - Output
Ottieni una Licenza Gratuita
Puoi richiedere una licenza temporanea gratuita per valutare tutte le capacità di Aspose.Cells for Python tramite .NET senza limitazioni di valutazione.
Questa licenza consente di testare senza restrizioni tutte le funzionalità dell’API, inclusi unione di corrispondenza, esportazione in PDF e gestione di grandi set di dati.
Excel Mail Merge in Python: Risorse gratuite
- Aspose.Cells Documentazione Python
- Strumenti Excel online
- Riferimento API di Aspose.Cells
- Tutorial e Guide
Conclusione
La stampa unione da Excel utilizzando Python rende più facile generare documenti su larga scala. Con i Marcatori Intelligenti di Aspose.Cells, puoi automatizzare rapidamente questo processo in poche righe di codice. Che si tratti di inviare fatture, creare certificati o generare rapporti, l’API Python offre il pieno controllo e flessibilità.
Need help? Join our free support forum.