Generate Word from template in C#

Automatisierung der Dokumenterzeugung ist entscheidend für Unternehmen, die dynamische Berichte, Rechnungen und Briefe erstellen möchten.Mit der Aspose.Words Mail Merge für .NET können Sie Word-Template mit Daten aus verschiedenen Quellen, einschließlich Objekten, CSV, JSON und XML effizient populieren.Dieser Leitfaden führt Sie durch die Verwendung von Mail Merge in C# für effizient und automatisierte Dokumentarbeitsflüsse, wobei Sie sich auf dynamische Word-Dokumenterzeugung mit C# .NET konzentrieren.

Tabelle der Inhalte

Überblick über Mail Merge für .NET

Die Aspose.Words Mail Merge für .NET Plugin ermöglicht Entwicklern, personalisierte Dokumente aus vordefinierten Templates zu erstellen, die Fusionfelder enthalten:

  • Dynamisch populierte Vorlagen mit Daten, die die .NET-Framework Word-Dokumentgeneration unterstützen.
  • Effizient durchführen Sie die Menge-Dokumentgeneration, indem Sie die .NET Mail Fusion-Lösung für Word-Dokumente nutzen.
  • Gewährleistet eine konsistente Formatierung über die Ausgänge, verbessert C# Word-Dokument-Template Best Practices.

Die Schlüsselfunktionen:

  • Multi-Source Support: Verwenden Sie Daten aus Objekten, Datenbanken, XML, JSON und CSV, um benutzerdefinierte Word-Dokumente mit C# zu erstellen#.
  • High Performance: Effiziente Handhabung großer Datensätze und Massenfunktionen für dynamische Word-Dokumentgeneration mit .NET Core.
  • Anpassbare Vorlagen: Erstellen Sie Vorlagen mit Platzinhaber für die Dateninsatzung, indem Sie die .NET Word Mail Fusion Automation-Fähigkeiten nutzen.

Setup

Um zu beginnen, installieren Sie Aspose.Words mit NuGet:

PM> Install-Package Aspose.Words

Generieren Sie Word-Dokument aus dem Template mit C#-Objekten

Beginnen wir mit der Populierung eines Word-Templates mit C#-Objekten. Wir erstellen ein Word-Dokument (DOC/DOCX) mit den folgenden Platzinhaber:

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

In diesem Beispiel ist Sender ein Beispiel einer Klasse, die wir verwenden werden, um das Template mit der C# generiert Word-Dokument aus der Datenbank Ansatz zu populieren.

Danach verwenden wir den Berichterstattungsmotor von Aspose.Words, um das Word-Dokument aus dem Template und dem Beispiel der Sender-Klasse zu generieren, indem wir die folgenden Schritte folgen:

  • Schaffen Sie ein Beispiel für die Dokumentation Klasse und initialisieren Sie es mit dem Worte-Template.
  • Erstellen und Initialisieren eines Objekts der Sender-Klasse.
  • Instanzieren Sie die ReportingEngine und Klasse.
  • Folgen Sie den Template mit ErzählungEngine.BuildReport(), die das Dokument, die Datenquelle und den Namen der Datenquelle als Parameter nimmt.
  • Speichern Sie das generierte Word-Dokument mit Veröffentlichung (Save().

Hier ist der Code-Sample, der zeigt, wie man ein Word-Dokument aus einem Template in C# generiert#.

Ausgang

Generieren Sie Word-Dokument aus einer XML-Datenquelle in C#

Um ein Word-Dokument aus einer XML-Datenquelle zu generieren, verwenden wir ein komplexeres Word-Template mit den folgenden Platzinhaber:

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

Die XML-Datenquelle, die in diesem Beispiel verwendet wird, wird unten angezeigt.

Um ein Word-Dokument aus einer XML-Datenquelle zu erstellen, folgen Sie diesen Schritten:

  • Erstellen Sie ein Beispiel der Dokument-Klasse und initialisieren Sie es mit dem Worte-Template-Path.
  • Schaffen Sie ein Beispiel für die XmlDataSource Klassen und initialisieren Sie es mit dem XML-Dateiweg.
  • Installieren Sie die ReportingEngine Klasse.
  • Verwenden Sie die ReportingEngine.BuildReport() Methode, um das Word-Template zu populieren.
  • Speichern Sie das generierte Word-Dokument mit der Methode Document.Save.

Hier ist der Code-Sample, der zeigt, wie man ein Word-Dokument aus einer XML-Datenquelle in C# generiert#.

Ausgang

Generieren Sie Word-Dokument aus einer JSON-Datenquelle in C#

Danach erfahren wir, wie man ein Word-Dokument mit einer JSON-Datenquelle erzeugt. In diesem Beispiel erstellen wir eine Liste von Kunden, die von ihren Manager segmentiert werden:

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

Die entsprechende JSON-Datenquelle, die wir zur Populierung des Templates verwenden werden, ist unten:

Um das Word-Dokument von JSON zu generieren, werden wir die JsonDataSource Klasse, um die Datenquelle zu laden, und die übrigen Schritte werden die vorherige Struktur folgen. Hier ist der Code-Sample, der zeigt, wie man ein Word-Dokument aus dem JSON-Template in C# generieren kann#.

Ausgang

Word-Dokument aus CSV-Datenquelle in C# generieren

Um das Word-Dokument aus einer CSV-Quelle zu generieren, verwenden wir das folgende Word-Template:

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

Das Template wird mit den folgenden CSV-Daten populiert:

Die Schritte bleiben denselben, mit Ausnahme eines Schlüsselunterschieds: Wir werden den CsvDataSource Klasse, um die CSV-Daten zu laden. Das folgende Code-Sample illustriert, wie man das Word Dokument aus einer CSV Datenquelle generiert.

Ausgang

Versuchen Sie Aspose.Words für .NET kostenlos

Du kannst versuchen Aspose.Words für .NET Mit einem kostenlosen vorübergehende Lizenz.

Schlussfolgerungen

In diesem Artikel haben Sie gelernt, wie man Word-Dokumente aus Schablonen mit C# generieren kann. Sie haben erforscht, um verschiedene Datenquellen wie Objekte, XML, JSON und CSV für dynamische Dokumenterzeugung in .NET zu nutzen Dokumentation, und fühlen sich frei, durch unsere Forum.

More in this category