Mail Merge depuis Excel en C# | Fusion de courrier Excel vers Excel

La fusion de courrier facilite la création de documents personnalisés en masse, tels que des lettres, des e-mails, des factures ou des certificats. Vous commencez avec un modèle et le remplissez en utilisant des données provenant d’une feuille de calcul. Chaque ligne dans le fichier Excel génère un nouveau document avec les détails corrects aux bons endroits. C’est une façon intelligente d’automatiser des tâches répétitives comme l’envoi de factures ou la génération de rapports. Dans cet article, nous allons vous montrer comment effectuer une fusion de courrier depuis Excel en utilisant C#. Commençons.

Cet article couvre les sujets suivants :

C# Bibliothèque de fusion de courrier Excel

Nous allons utiliser l’API Aspose.Cells for .NET pour effectuer une fusion de courrier à partir d’Excel en C#. Elle offre des outils puissants pour travailler avec des fichiers Excel directement dans votre code. Elle permet aux développeurs de créer, lire et mettre à jour des feuilles de calcul facilement. Vous pouvez également gérer des tâches avancées comme la fusion de courrier sans tracas. La bibliothèque rend l’automatisation d’Excel rapide, flexible et fiable.

Pour commencer avec Aspose.Cells for .NET, suivez ces simples instructions d’installation :

  1. Veuillez le télécharger depuis le releases.
  2. Installez la bibliothèque en utilisant NuGet Package Manager avec la commande suivante :
PM> Install-Package Aspose.Cells

Comment fonctionne la fusion de courrier avec Aspose.Cells ?

Aspose.Cells ne prend pas en charge “le publipostage” de la même manière que Word.Il ajoute le publipostage à Excel en utilisant Smart Markers.Ces marqueurs agissent comme des espaces réservés dans votre feuille de calcul, et la bibliothèque les remplace par de vraies données au moment de l’exécution. Au fur et à mesure qu’il traite chaque ligne de votre source de données, il remplit le modèle et élargit le contenu automatiquement, vous permettant de générer des documents entièrement personnalisés avec seulement quelques lignes de code C#.

&=DataSource.ColumnName

Pendant le traitement, Aspose.Cells remplace ces éléments par des données réelles d’un DataTable, List<T>, ou tout IEnumerable. Par exemple, la bibliothèque remplace &=Data.Name par des valeurs de la colonne Name dans le tableau de données.

Préparez le modèle Excel

Créer un fichier Excel (par exemple, Template.xlsx) avec des marqueurs intelligents. Voici un exemple de mise en page :

NomEmailMontant
&=Data.Name&=Data.Email&=Data.Amount

Guide étape par étape pour effectuer un publipostage à partir d’Excel en C#

Pour effectuer un publipostage depuis Excel en utilisant Aspose.Cells for .NET, il suffit de suivre ces étapes :

Étape 1 : Charger le modèle Excel

Chargez le fichier de modèle Excel qui contient des marqueurs intelligents en utilisant la classe Workbook. La classe Workbook représente l’ensemble du fichier Excel (carnet de notes).Le fichier de modèle chargé sert de mise en page pour votre sortie fusionnée.

Workbook workbook = new Workbook("Template.xlsx");

Étape 2 : Créer un DataTable

Ici, nous créons un DataTable qui simule votre source de données Excel. Chaque colonne correspond à un marqueur intelligent, et chaque ligne représente un ensemble de valeurs à insérer. La classe DataTable de System.Data contient les données que vous souhaitez fusionner. Chaque colonne correspond à un marqueur intelligent, et chaque ligne fournit un ensemble de valeurs unique.

DataTable dt = new DataTable("Data");
dt.Columns.Add("Name");
dt.Columns.Add("Email");
dt.Columns.Add("Amount");

dt.Rows.Add("Alice", "alice@example.com", 1000);
dt.Rows.Add("Bob", "bob@example.com", 1500);

Étape 3 : Liez votre modèle Excel à la source de données

Nous utilisons la classe WorkbookDesigner pour connecter le modèle avec les données. La WorkbookDesigner est une classe spéciale dans Aspose.Cells conçue pour gérer les marqueurs intelligents et le liaison de données. Elle relie votre source de données (comme un DataTable) avec le modèle Excel. La méthode SetDataSource() lie le DataTable (Data) aux marqueurs intelligents dans le classeur.

WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource(dt);
  • SetDataSource() attache le DataTable aux Smart Markers dans le classeur.
  • “Data” est le nom utilisé dans les marqueurs comme &=Data.Name.

Étape 4 : Exécuter le publipostage

Une fois que vous avez défini la source de données, appeler Process() remplit tous les Smart Markers avec de vraies valeurs de la DataTable. Cette commande exécute la fusion de courriers. Elle parcourt les Smart Markers et les remplace par des valeurs réelles de la source de données.

designer.Process();

Étape 5 : Enregistrez le fichier

Enfin, nous enregistrons le fichier terminé avec toutes les données fusionnées.

workbook.Save("MergedOutput.xlsx");

Enregistrez la sortie fusionnée sous forme de PDF

Vous pouvez facilement enregistrer le document Excel fusionné au format PDF avec une seule ligne de code.

// Set PDF options
PdfSaveOptions options = new PdfSaveOptions();

// Save as PDF
workbook.Save("MergedDocument.pdf", SaveFormat.Pdf);

Complete C# Code to Mail Merge Data

// Charger le modèle Excel
Workbook workbook = new Workbook("Template.xlsx");

// Create dummy data
DataTable dt = new DataTable("Data");
dt.Columns.Add("Name");
dt.Columns.Add("Email");
dt.Columns.Add("Amount");

dt.Rows.Add("Alice", "alice@example.com", 1000);
dt.Rows.Add("Bob", "bob@example.com", 1200);

// Définir la source de données
WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource(dt);

// Traiter des marqueurs intelligents (fusion de courrier)
designer.Process();

// Save the output
workbook.Save("MergedOutput.xlsx");

Output

Le fichier Excel de sortie contient une ligne pour chaque entrée avec des données personnalisées remplies à la place des marqueurs intelligents.

Fusion de courrier depuis Excel en C# - Sortie

Mail Merge from Excel in C# - Output

Obtenez une licence gratuite

Obtenez une licence temporaire gratuite qui vous permet de tester les fonctionnalités complètes d’Aspose.Cells for .NET sans limitations. C’est idéal si vous évaluez l’API pour des tâches d’automatisation telles que le publipostage, le reporting Excel ou l’exportation PDF.

Excel vers la publication par courrier Excel : Ressources gratuites

En plus de la fusion de courrier Excel, nous fournissons diverses ressources pour vous aider à approfondir votre compréhension d’Aspose.Cells for .NET. Consultez notre documentation, nos tutoriels et nos forums communautaires pour plus d’informations.

Questions Fréquemment Posées (FAQs)

Q1: Puis-je utiliser la fusion de courrier Excel sans Microsoft Office installé ?

Oui, la fusion de courrier ne nécessite pas Microsoft Office. Aspose.Cells fonctionne de manière autonome et gère tout via ses propres API.

Q2: Quelle est la différence entre les Smart Markers et les champs de fusion de mots ?

Les Smart Markers fonctionnent dans Excel et sont plus personnalisables pour l’expansion des données par ligne. Les champs de fusion sont spécifiques à Word.

Q3: Puis-je fusionner d’Excel à Word en utilisant Aspose ?

Oui, mais vous aurez besoin d’Aspose.Words pour ce scénario.

Q4 : Est-il possible d’automatiser la génération de PDF à partir de fusions Excel ?

Absolument. Il suffit d’enregistrer le classeur final au format PDF en utilisant Aspose.Cells.

Conclusion

La fusion de courrier à partir d’Excel offre un moyen puissant de générer des documents dynamiques et personnalisés en utilisant l’interface de feuille de calcul familière. Dans cet article de blog, nous avons expliqué la fusion de courrier à partir d’Excel en utilisant C#. En utilisant les Smart Markers d’Aspose.Cells, vous obtenez la flexibilité d’automatiser complètement ce processus et de générer des milliers de factures, de certificats ou de tout rapport structuré.

Si vous avez des questions ou besoin d’une assistance supplémentaire, n’hésitez pas à nous contacter sur notre forum de support gratuit.

Voir aussi