Generate Word from template in C#

L’automatisation de la génération de documents est cruciale pour les entreprises qui cherchent à créer des rapports dynamiques, des factures et des lettres. Avec Aspose.Words Mail Merge pour .NET, vous pouvez populer efficacement les modèles Word avec des données à partir de différentes sources, y compris les objets, CSV, JSON et XML. Ce guide vous guide à travers l’utilisation de Mail Merge dans C# pour des flux de travail de documents simplifiés et automatisés, en se concentrant sur dinamique Word document création avec C# .NET.

Table des contenus

Commentaires sur Mail Merge pour .NET

Le plugin Aspose.Words Mail Merge pour .NET permet aux développeurs de créer des documents personnalisés à partir de modèles prédéfinis contenant des champs de fusion. Cette intégration est conçue pour une utilisation sans fil dans les environnements .NET, offrant des capacités pour:

  • Population dynamique des modèles avec des données, supportant .NET framework Word document génération.
  • Exécutez efficacement la génération de documents en masse, en utilisant la solution de fusion de messagerie .NET pour les documents Word.
  • Assurez le formatage cohérent à travers les sorties, en améliorant les meilleures pratiques du modèle de document C# Word**.

Caractéristiques clés :

  • Multi-Source Support: Utilisez les données des objets, des bases de données, XML, JSON et CSV pour créer des documents Word personnalisés avec C#.
  • High Performance: Gérer efficacement les grands ensembles de données et les opérations de masse pour la génération dynamique de documents Word avec .NET Core**.
  • Templates personnalisables: Créez des modèles avec des locataires pour l’insertion de données, en utilisant les fonctionnalités .NET Word mail fusion automation.

La configuration

Pour commencer, installez Aspose.Words en utilisant NuGet :

PM> Install-Package Aspose.Words

Gérer un document Word à partir du modèle en utilisant des objets C#

Nous allons commencer par la population d’un modèle Word en utilisant des objets C#. Nous créons un document Word (DOC/DOCX) avec les locataires suivants:

<<[sender.Name]>> says: "<<[sender.Message]>>."

Dans cet exemple, sender est un exemple d’une classe que nous utiliserons pour populer le modèle en utilisant le C# génère le document Word de l’approche de base de données.

Ensuite, nous utiliserons le moteur de reporting de Aspose.Words pour générer le document Word du modèle et de l’exemple de la classe Sender en suivant les étapes suivantes:

  • Créer un exemple de la Documents Classez et initialisez-le avec le chemin du modèle Word.
  • Créer et initialiser un objet de la classe Sender.
  • Instantanez le RédactionEngine La classe.
  • Utilisez le modèle en utilisant Résumé de l’information.BuildReport(), qui prend l’exemple du document, la source de données et le nom de la source de données comme paramètres.
  • Sauver le document Word généré en utilisant Étiquette : Save().

Voici l’échantillon de code qui montre comment gérer un document Word d’un modèle dans C#.

La sortie

Gérer un document Word à partir d’une source de données XML en C#

Pour générer un document Word à partir d’une source de données XML, nous utiliserons un modèle Word plus complexe avec les locataires suivants:

<<foreach [in persons]>>Name: <<[Name]>>, Age: <<[Age]>>, Date of Birth: <<[Birth]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<[persons.Average(p => p.Age)]>>

La source de données XML utilisée dans cet exemple est indiquée ci-dessous.

Pour créer un document Word à partir d’une source de données XML, suivez les étapes suivantes :

  • Créez un exemple de la classe Document et initialisez-le avec le chemin du modèle Word.
  • Créer un exemple de la XmlDataSource Classez et initialisez-le avec le chemin du fichier XML.
  • Démarrez la classe RaportingEngine.
  • Utilisez la méthode ReportingEngine.BuildReport() pour localiser le modèle Word.
  • Sauver le document Word généré en utilisant la méthode Document.Save().

Voici l’échantillon de code qui montre comment gérer un document Word à partir d’une source de données XML dans C#.

La sortie

Gérer un document Word à partir d’une source de données JSON en C#

Ensuite, découvrez comment générer un document Word en utilisant une source de données JSON. Dans cet exemple, nous créerons une liste de clients segmentés par leurs gestionnaires.

<<foreach [in managers]>>Manager: <<[Name]>>
Contracts:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>

La source de données JSON correspondante que nous utiliserons pour populer le modèle est ci-dessous:

Pour générer le document Word à partir de JSON, nous utiliserons le JsonDataSource classe pour charger la source de données, et les étapes restantes suivront la structure précédente. Voici l’échantillon de code qui montre comment gérer un document Word du modèle JSON dans C#.

La sortie

Gérer un document Word à partir de la Source de données CSV en C#

Pour générer le document Word à partir d’une source CSV, nous utiliserons le modèle Word suivant:

<<foreach [in persons]>>Name: <<[Column1]>>, Age: <<[Column2]>>, Date of Birth: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<[persons.Average(p => p.Column2)]>>

Le modèle sera populé en utilisant les données CSV suivantes:

Les étapes restent les mêmes sauf pour une seule différence clé: nous allons utiliser le code C#. CsvDataSource classe pour charger les données CSV. L’échantillon de code suivant illustre comment ** générer le document Word à partir d’une source de données CSV**.

La sortie

Essayez Aspose.Words pour .NET gratuitement

Vous pouvez essayer Aspose.Words per .NET Utiliser un gratuit Licence temporaire.

Conclusion

Dans cet article, vous avez appris comment générer des documents Word à partir de modèles en utilisant C#. Vous avez exploré comment exploiter diverses sources de données telles que les objets, XML, JSON, et CSV pour la génération dynamique de documents dans .NET**. Pour plus d’informations sur les capacités de traitement du modèle Word **. La documentationet se sentir libre d’arriver à travers notre Forum.

More in this category