Generate Word from template in C#

Automatisering van documentgeneratie is cruciaal voor bedrijven die dynamische rapporten, facturen en brieven willen maken. Met de Aspose.Words Mail Merge voor .NET, kunt u efficiënt Word-templaten populeren met gegevens uit verschillende bronnen, waaronder objecten, CSV, JSON en XML. Deze gids zal u begeleiden door het gebruik van Mail merge in C# voor gestroomde en geautomatiseerde documentwerkstromen, met de nadruk op dynamische Word document creatie met c#.NET.

Tabel van inhoud

Overzicht van Mail Merge voor .NET

De Aspose.Words Mail Merge voor .NET plugin stelt ontwikkelaars in staat om gepersonaliseerde documenten te maken uit vooraf gedefinieerde templates die fusievelden bevatten:

  • Dynamisch bevolen templates met gegevens, ondersteunen .NET framework Word document generatie.
  • Effectief uitvoeren we de generatie van bulkdocumenten, met behulp van de .NET mail merge oplossing voor Word documenten.
  • Zorg ervoor dat consistente formatting over de outputs, verbeteren C# Word document template beste praktijken.

De belangrijkste eigenschappen:

  • Multi-Source Support: Gebruik gegevens van objecten, databases, XML, JSON en CSV om aangepaste Worddocumenten met C# te maken#.
  • Hoge prestaties: effectief beheren van grote datasets en massa-operaties voor dynamische Word-documentgeneratie met .NET Core.
  • Specifieke Templates: Maak templates met plaatshouders voor gegevensinname, met behulp van de .NET Word mail merge automatisering-capaciteiten.

Setup

Om te beginnen, installeren Aspose.Words met NuGet:

PM> Install-Package Aspose.Words

Worddocument genereren van een template met behulp van C# objecten

Laten we beginnen met het populeren van een Word-template met behulp van C#-objecten.We maken een Word-document (DOC/DOCX) met de volgende plaatshouders:

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

In dit voorbeeld is sender een instelling van een klasse die we zullen gebruiken om het template te populeren met behulp van de C# genereren Word-document uit de database aanpak.

Vervolgens zullen we de verslagmachine van Aspose.Words gebruiken om het Word-document uit het template en het voorbeeld van de Sender-klasse te genereren door de volgende stappen te volgen:

  • Een voorbeeld maken van de documenten klassen en initialiseren met de pad van de Word-template.
  • Creëren en initialiseren van een object van de Sender-klasse.
  • Instantieer de ReportingEngine De klas.
  • Het gebruik van de template Verwijderingen.BuildReport(), die het voorbeeld van het document, de gegevensbron en de naam van de gegevensbron als parameters neemt.
  • Speel het geproduceerde Word-document met behulp van Informatie (Save().

Hier is de code-monster die laat zien hoe u een Word-document van een template in C# kunt genereren#.

Uitgang

Word Document genereren van een XML Data Source in C#

Om een Word-document uit een XML-gegevensbron te genereren, gebruiken we een complexere Word-template met de volgende plaatshouders:

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

De XML-gegevensbron die in dit voorbeeld wordt gebruikt, wordt hieronder weergegeven.

Om een Word-document uit een XML-gegevensbron te maken, volg deze stappen:

  • Creëer een voorbeeld van de Document-klasse en initialiser het met de Word-template.
  • Een voorbeeld maken van de XmlDataSource klassen en initialiseren met de route van de XML-bestand.
  • Instantieer de ReportingEngine klasse.
  • Gebruik ReportingEngine.BuildReport() methode om de Word-template te populeren.
  • Speel het geproduceerde Word-document met behulp van de Document.Save()-methode.

Hier is de codemonster die laat zien hoe u een Word-document kunt genereren vanuit een XML-gegevensbron in C#.

Uitgang

Word Document genereren van een JSON Data Source in C#

Vervolgens zullen we onderzoeken hoe we een Word-document kunnen genereren met behulp van een JSON-gegevensbron.In dit voorbeeld maken we een lijst van klanten die door hun managers worden gesegmenteerd:

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

De overeenkomstige JSON-gegevensbron die we zullen gebruiken om het template te populeren is hieronder:

Om het Word-document van JSON te genereren, gebruiken we de JsonDataSource klassen om de gegevensbron te laden, en de resterende stappen zullen de vorige structuur volgen. Hier is de code-monster die laat zien hoe u een Word-document kunt genereren vanuit het JSON-template in C#.

Uitgang

Word Document genereren van CSV Data Source in C#

Om het Word-document uit een CSV-bron te genereren, gebruiken we de volgende Word-template:

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

De template wordt gepopuliseerd met de volgende CSV-gegevens:

De stappen blijven hetzelfde, behalve voor één belangrijke verschil: we zullen de CsvDataSource De volgende code-monster illustreert hoe de Word-document uit een CSV-gegevensbron te genereren.

Uitgang

Probeer Aspose.Words voor .NET voor gratis

U kunt proberen Aspose.Words voor .NET Gebruik een gratis tijdelijke licentie.

Conclusie

In dit artikel hebt u geleerd hoe u Word-documenten kunt genereren uit templates met behulp van C#. U heeft onderzocht hoe je verschillende gegevensbronnen zoals objecten, XML, JSON en CSV kunt gebruiken voor dynamische documentgeneratie in .NET. Voor meer inzichten over de mogelijkheden van .NET Word template verwerking, duwen in de Documentatie, en voel je vrij om door onze Forum.

More in this category