Die Automatisierung der Dokumentenerstellung ist entscheidend für Unternehmen, um dynamische Berichte, Rechnungen und Briefe zu erstellen. Mit Aspose.Words Mail Merge für .NET können Sie Word-Vorlagen effizient mit Daten aus verschiedenen Quellen füllen, einschließlich Objekten, CSV, JSON und XML. Diese Anleitung zeigt, wie Sie Mail Merge in C# nutzen können, um reibungslose und automatisierte Dokumentenworkflows zu erreichen, insbesondere im Hinblick auf C# .NET dynamische Word-Dokumenterstellung.
Abgedeckte Themen:
- Überblick über Mail Merge für .NET
- Dokumente aus verschiedenen Datenquellen generieren
- Best Practices für Mail Merge
- Häufig gestellte Fragen
Überblick über Mail Merge für .NET
Aspose.Words Mail Merge für .NET ermöglicht Entwicklern die Erstellung personalisierter Dokumente aus vordefinierten Vorlagen mit enthaltenen Zusammenführungsfeldern. Das Plugin ist für eine nahtlose Integration in .NET-Umgebungen konzipiert und bietet die Möglichkeit,:
- Vorlagen dynamisch mit Daten zu füllen und die .NET Framework Word-Dokumentenerstellung zu unterstützen.
- Die Massenproduktion von Dokumenten effizient durchzuführen und die .NET Mail-Merge-Lösung für große Datensätze zu nutzen.
- Einheitliche Formatierung über Ausgaben hinweg beizubehalten und somit die C# Word-Dokumentvorlagen-Best Practices effektiv zu verbessern.
Hauptmerkmale:
- Unterstützung mehrerer Quellen: Verwenden Sie Daten aus Objekten, Datenbanken, XML, JSON und CSV, um mit C# angepasste Word-Dokumente zu erstellen.
- Hohe Leistung: Effizienter Umgang mit großen Datensätzen und Massenoperationen für die dynamische Word-Dokumentenerstellung mit .NET Core.
- Anpassbare Vorlagen: Erstellen Sie Vorlagen mit Platzhaltern für die Dateninsertion und nutzen Sie die .NET Word Mail Merge-Automatisierung.
Einrichtung
Installieren Sie Aspose.Words über NuGet:
PM> Install-Package Aspose.Words
Generieren Sie ein Word-Dokument aus einer Vorlage mit C#-Objekten
Zunächst sehen wir uns an, wie eine Word-Vorlage mit C#-Objekten gefüllt wird. Dazu erstellen wir ein Word-Dokument (DOC/DOCX) mit den folgenden Platzhaltern als Inhalt des Dokuments:
<<[sender.Name]>> sagt: "<<[sender.Message]>>."
Hier ist sender eine Instanz einer Klasse, die wir verwenden werden, um die Vorlage mithilfe des C# Word-Dokument aus Datenbank generieren-Ansatzes zu füllen.
Jetzt können wir die Berichterstellungs-Engine von Aspose.Words verwenden, um das Word-Dokument aus der Vorlage und der Instanz der Sender-Klasse zu generieren, indem wir die folgenden Schritte befolgen:
- Erstellen Sie eine Instanz der Document-Klasse und initialisieren Sie sie mit dem Pfad der Word-Vorlage.
- Erstellen und initialisieren Sie ein Objekt der Sender-Klasse.
- Instanziieren Sie die ReportingEngine-Klasse.
- Füllen Sie die Vorlage mit ReportingEngine.BuildReport(), die die Instanz des Dokuments, die Datenquelle und den Namen der Datenquelle als Parameter verwendet.
- Speichern Sie das generierte Word-Dokument mit der Document.Save()-Methode.
Das folgende Codebeispiel zeigt, wie man ein Word-Dokument aus einer Vorlage in C# generiert.
Ausgabe
Generieren Sie ein Word-Dokument aus einer XML-Datenquelle in C#
Um ein Word-Dokument aus einer XML-Datenquelle zu generieren, verwenden wir eine komplexere Word-Vorlage mit den folgenden Platzhaltern:
<<foreach [in persons]>>Name: <<[Name]>>, Alter: <<[Age]>>, Geburtsdatum: <<[Birth]:"dd.MM.yyyy">>
<</foreach>>
Durchschnittsalter: <<[persons.Average(p => p.Age)]>>
Die in diesem Beispiel verwendete XML-Datenquelle ist unten dargestellt.
Um ein Word-Dokument aus einer XML-Datenquelle zu erstellen, befolgen Sie diese Schritte:
- Erstellen Sie eine Instanz der Document-Klasse und initialisieren Sie sie mit dem Pfad der Word-Vorlage.
- Erstellen Sie eine Instanz der XmlDataSource-Klasse und initialisieren Sie sie mit dem Pfad der XML-Datei.
- Instanziieren Sie die ReportingEngine-Klasse.
- Verwenden Sie wie zuvor die ReportingEngine.BuildReport()-Methode, um die Word-Vorlage zu füllen.
- Speichern Sie das generierte Word-Dokument mit der Document.Save()-Methode.
Hier ist das Codebeispiel, das zeigt, wie man ein Word-Dokument aus der XML-Datenquelle in C# generiert.
Ausgabe
Generieren Sie ein Word-Dokument aus einer JSON-Datenquelle in C#
Als nächstes erkunden wir, wie man ein Word-Dokument mithilfe einer JSON-Datenquelle generiert. In diesem Beispiel erstellen wir eine Liste von Kunden, die nach ihren Managern segmentiert sind. Die Word-Vorlage sieht folgendermaßen aus:
<<foreach [in managers]>>Manager: <<[Name]>>
Verträge:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
Die entsprechende JSON-Datenquelle, die wir verwenden werden, um die Vorlage zu füllen, ist unten dargestellt:
Um das Word-Dokument aus JSON zu generieren, verwenden wir die JsonDataSource-Klasse, um die Datenquelle zu laden, und die restlichen Schritte folgen der vorherigen Struktur. Das folgende Codebeispiel zeigt, wie man ein Word-Dokument aus der JSON-Vorlage in C# generiert.
Ausgabe
Generieren Sie ein Word-Dokument aus einer CSV-Datenquelle in C#
Um das Word-Dokument aus einer CSV-Quelle zu generieren, verwenden wir die folgende Word-Vorlage:
<<foreach [in persons]>>Name: <<[Column1]>>, Alter: <<[Column2]>>, Geburtsdatum: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
Durchschnittsalter: <<[persons.Average(p => p.Column2)]>>
Die Vorlage wird unter Verwendung der folgenden CSV-Daten gefüllt:
Jetzt lassen Sie uns den C#-Code überprüfen. Die Schritte bleiben gleich, mit einem wesentlichen Unterschied: Wir werden die CsvDataSource-Klasse verwenden, um die CSV-Daten zu laden. Das folgende Codebeispiel veranschaulicht, wie man das Word-Dokument aus einer CSV-Datenquelle generiert.
Ausgabe
Testen Sie Aspose.Words für .NET kostenlos
Sie können Aspose.Words für .NET mit einer kostenlosen temporären Lizenz ausprobieren.
Fazit
In diesem Artikel haben Sie gelernt, wie man Word-Dokumente aus Vorlagen mit C# erstellt. Sie haben erfahren, wie man verschiedene Datenquellen wie Objekte, XML, JSON und CSV für die dynamische Dokumentenerstellung .NET nutzt. Tauchen Sie tiefer in die Möglichkeiten der .NET Word-Vorlagenverarbeitung ein, indem Sie die Dokumentation erkunden, und zögern Sie nicht, sich über unser Forum zu melden.