Fusion de courrier utilisant Excel en Python

La fusion de courrier est une technique intelligente pour générer des documents personnalisés à grande échelle. Que ce soit des factures, des rapports ou des certificats, vous pouvez utiliser un seul modèle et le remplir avec des données issues d’une feuille de calcul. Chaque ligne dans votre fichier Excel devient un document personnalisé. Dans cet article, nous allons vous montrer comment effectuer une fusion de courrier à partir d’Excel en utilisant Python avec la bibliothèque Aspose.Cells.

Cet article couvre les sujets suivants :

Bibliothèque de fusion de courrier Excel Python

Nous allons utiliser Aspose.Cells for Python via .NET pour effectuer le publipostage. Il vous permet de créer, lire et manipuler des feuilles de calcul Excel directement à partir du code Python. Avec le support des Smart Markers, la bibliothèque permet un lien de données fluide et une automatisation Excel.

Pour installer Aspose.Cells for Python via .NET :

pip install aspose-cells

Fusion de courrier avec Aspose.Cells for Python

Contrairement à Word, Aspose.Cells utilise des marqueurs intelligents pour effectuer des fusions de courrier. Les marqueurs intelligents sont des étiquettes spéciales dans les modèles Excel que le système remplace par des données réelles au moment de l’exécution. Vous définissez des marqueurs comme :

&=DataSource.ColumnName

Aspose.Cells traite ces marqueurs ligne par ligne, les remplaçant par de vraies valeurs de votre source de données, comme une liste de dictionnaires ou un objet semblable à un DataTable.

Préparez le modèle Excel

Créer un fichier (par exemple, Template.xlsx) avec des marqueurs intelligents :

NomE-mailMontant
&=Data.Name&=Data.Email&=Data.Amount

Guide étape par étape pour effectuer un publipostage en utilisant Python

Cette section décrit la procédure à suivre pour exécuter une opération de publipostage en utilisant des modèles Excel et l’API Aspose.Cells for Python via .NET. Le processus comprend le chargement d’un classeur modèle, son association à une source de données, l’exécution du traitement des marques intelligentes et l’enregistrement du résultat.

Étape 1 : Charger le classeur modèle

Pour commencer, instanciez un objet Workbook en chargeant le fichier Excel qui contient des marqueurs intelligents prédéfinis.

import aspose.cells as ac

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

Remarque : Le modèle doit contenir des marqueurs intelligents formatés en &=Data.FieldName.

Étape 2 : Créer et peupler la source de données

Créer un DataTable pour servir de source de données. Définir les colonnes requises et ajouter des lignes de données qui correspondent aux Smart Markers dans le modèle.

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])

Chaque nom de colonne dans le DataTable doit correspondre aux identifiants de marqueur utilisés dans le modèle Excel.

Étape 3 : Lier les données au classeur

Utilisez la classe WorkbookDesigner pour associer le classeur à la source de données. Cela vous permet de peupler automatiquement les Smart Markers pendant le traitement.

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

Étape 4 : Traiter les marqueurs intelligents

Exécutez le remplacement du Marqueur Intelligent en invoquant la méthode process(). Cela itérera sur la source de données et insérera des valeurs aux emplacements correspondants dans le classeur.

designer.process()

Étape 5 : Enregistrez le classeur fusionné

Enregistrez le classeur traité sur le disque au format Excel.

workbook.save("MergedOutput.xlsx")

(Optional) Export the Output as PDF

Pour générer une version PDF du classeur fusionné, configurez les options de sauvegarde PDF et spécifiez SaveFormat.PDF lors de l’exportation.

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

Full Python Code for Mail Merge

L’exemple suivant démontre le processus complet pour créer un publipostage à partir d’Excel en utilisant 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)

Assurez-vous que les Smart Markers dans le modèle Excel correspondent aux noms de colonnes définis dans le DataTable. Par exemple, &=Data.Name dans le modèle correspond à une colonne nommée \"Name\" dans la source de données.

Cette mise en œuvre automatise les tâches de génération de documents, telles que les factures, les rapports ou les certificats, sans nécessiter l’installation de Microsoft Excel.

Output

Chaque ligne dans la source de données génère une nouvelle ligne personnalisée dans le fichier Excel où des Smart Markers ont été placés.

Fusion de courrier depuis Excel en Python - Sortie

Fusion de courriers à partir d’Excel en Python - Sortie

Obtenez une licence gratuite

Vous pouvez demander une licence temporaire gratuite pour évaluer l’intégralité des capacités d’Aspose.Cells for Python via .NET sans limitations d’évaluation.

Cette licence permet des tests illimités de toutes les fonctionnalités de l’API, y compris la fusion de courriels, l’exportation PDF et la gestion de grands ensembles de données.

Excel Mail Merge en Python : Ressources Gratuites

Conclusion

Le publipostage à partir d’Excel en utilisant Python facilite la génération de documents à grande échelle. Avec les Smart Markers d’Aspose.Cells, vous pouvez automatiser rapidement ce processus en seulement quelques lignes de code. Que ce soit pour l’envoi de factures, la création de certificats ou la génération de rapports, l’API Python offre un contrôle et une flexibilité complets.

Besoin d’aide ? Rejoignez notre forum de support gratuit.

Voir aussi