Unione di corrispondenza utilizzando Excel in Python

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:

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:

NomeEmailImporto
&=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

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

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.

See Also