Die Automatisierung der Erstellung personalisierter Dokumente – wie Berichte, Briefe und Rechnungen – kann die Effizienz Ihres Arbeitsflusses erheblich verbessern. Mit C# Mail Merge mit Aspose.Words für .NET können Sie dies unermüdlich erreichen. Dieser Leitfaden wird Sie durch die Aspose-Word-Mail-Merge Plugin verwenden, um eine effiziente und skalierbare Dokumenterzeugung innerhalb Ihrer .Net-Anwendungen durchzuführen – ohne die Notwendigkeit von MS Word oder Office Interop.

Inhalte

Was ist Mail Merge}

Mail Merge ist eine leistungsstarke Methodik für die dynamische Erzeugung von Dokumenten durch die Populierung von Vorlagen mit Daten aus verschiedenen Quellen. mit Aspose.Words können Sie Aufgaben wie:

  • Personalisierte Briefe und Rechnungen erzeugen.
  • Massenberichte mit strukturierten Formaten wie XML, JSON oder Datenbanken erstellen, die die dynamische Berichtsgeneration mit C# und Aspose.Words ermöglichen.

Datenquellen für Mail Merge

Aspose.Words unterstützt eine Vielzahl von Datenquellen, darunter:

  • Objekte: Populäre Vorlagen mit Klasseninstanz.
  • XML: Laden Sie strukturierte Daten für dynamische Felder.
  • JSON: Einfach mit modernen APIs integriert werden.
  • CSV: Tischdaten für die Menge-Dokumenterzeugung herauszugeben.
  • DataTable/DataSet: Verwenden Sie ADO.NET für die Datenbankintegration.

Vorbereitung des Templates für Mail Merge

Das E-Mail-Fusion-Template ist das Dokument, das Fusionfelder enthält, die während der Ausführung mit Daten aus Ihrer angegebenen Datenquelle populiert werden. Das Template kann in DOC oder DOCX-Format sein und erfordert keinen spezifischen Stil. Folgen Sie diesen Schritten, um eine E-Mail-Fusion-Template zu erstellen:

  • ffnen Sie Ihr Dokument oder erstellen Sie einen neuen in MS Word.
  • Legen Sie den Kursor dort, wo Sie ein Fusionfeld einfügen möchten.
  • Aus dem Insert Menü wählen Sie die Feld Option aus.
  • Aus der Liste Feldnamen wählen Sie MergeField aus.
  • Angeben Sie ein Name für das Fusionfeld im Feld Feld Name und klicken Sie auf OK.
  • Speichern Sie das Dokument.

Das folgende Bildschirm zeigt eine Proben Template Das Dokument.

Mail Merge Template

.NET Mail Merge API - Installation

Sie können Aspose.Words für .NET über verschiedene Methoden installieren:

Perform Mail Merge in Word-Dokument mit C#

Sobald Ihr Template fertig ist, können Sie die E-Mail-Fusion ausführen, um Dokumente zu generieren. Hier sind die Schritte, um die E-Mail-Fusion auf Ihrem vorbereiteten Template ausführen:

Hier ist ein Code-Sample, das zeigt, wie man Automat Report-Generation in C# mit einer Reihe von Werte durchführen kann:

Word-Dokument nach E-Mail Mischung

Execute Mail Merge in C#

Perform Mail Merge mit XML Data Source in C#

XML-Dateien werden in der Regel zur Speicherung und Übertragung von Daten verwendet. Aspose.Words für .NET unterstützt XML als Datenquelle für die E-Mail-Fusion. DataSet Objekt und die E-Mail-Fusion ausführen. unten ist ein XML-Datei-Sample für unser Benutzungsfall.

<customers>
    <customer Name="John Ben Jan" ID="1" Domain="History" City="Boston"/>
    <customer Name="Lisa Lane" ID="2" Domain="Chemistry" City="LA"/>
    <customer Name="Dagomir Zits" ID="3" Domain="Heraldry" City="Milwaukee"/>
    <customer Name="Sara Careira Santy" ID="4" Domain="IT" City="Miami"/>
</customers>

Das folgende Code-Sample erfährt Daten aus einer XML-Datenquelle und führt die E-Mail-Fusion mit C# durch#.

Im Folgenden ist die Mail merge Tempel Sie werden mit Daten aus dem XML-Datei populiert.

Mail Merge Template for XML

Dieses Bild repräsentiert die erste Seite des resultierenden Word-Dokuments, das nach dem Ausführen der E-Mail-Fusion erworben wurde.

Execute Mail Merge with XML in C#

Custom Formatierung von Merge Feldern

Aspose.Words für .NET bietet eine verbesserte Kontrolle über den E-Mail-Fusionsprozess. MailMerge.FeldMergingCallback Eigentum ermöglicht es Ihnen, das E-Mail-Fusionverhalten zu konfigurieren, da jedes Fusionfeld konfrontiert wird. IFieldMergingCallback.FieldMerging und IFieldMergingCallback.ImageFieldMerging Methoden ermöglichen die Anpassung der E-Mail-Fusion.

Im Folgenden ist ein Code-Sample, das zeigt, wie man während der E-Mail-Fusion durch das angegebenen Beispiel-Template angepasst Formatierung anwenden kann:

Die folgenden implementieren die HandleMergeFieldAlternatingRows Klasse.

Mail Merge mit Regionen mit C#

In einigen Fällen müssen Sie möglicherweise eine bestimmte Region innerhalb des Word-Dokuments populieren und wiederholen. Für solche Szenarien verwenden Sie die E-Mail-Fusion mit Regionen. Um eine Region zu erstellen, geben Sie sowohl den Beginn als auch den Ende der Region fest; dann wiederholt sich diese Region für jede Aufzeichnung in der Datenquelle. Das Beispiel des Vorbildes unten enthält zwei Regionen — Ordnungen und Ordnungsdetails — mit den Fusionfeldern «TableStart:Orders», «Taulend:OrderDetail», »TabellEnd: OrderDatail».

Mail Merge Template with Regions

Hier ist ein Code-Sample, das die E-Mail-Fusion basierend auf Regionen für die oben genannten Tempel.

Die folgenden Methoden zeigen, wie man Daten aus einer Datenbank lesen kann.

Nested Mail vereint

Oft werden Daten aus der Quelle in relativen Formaten strukturiert. Zum Beispiel können “Beträge” eine ein-zu-vielfach-Verhältnis mit “OrderDetails” haben, die Aufzeichnungen von Gegenständen innerhalb einer Bestellung beibehalten. In solchen Szenarien verwenden Sie eine Nested Mail Fusion. Rechnung Template Das passt dieses Szenario gut an.

Mail Merge Template with Regions

Im Folgenden ist eine XML-Datenquelle für unser Nested Mail Fusion Beispiel.

<?xml version="1.0" encoding ="utf-8"?>
<Orders xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="OrdersSchema.xsd">
    <Order>
        <Number>23</Number>
        <Address>Nelson Street</Address>
        <Suburb>Howick</Suburb>
        <City>Auckland</City>
        <Phonenumber>543 1234</Phonenumber>
        <Date>03/01/2010</Date>
        <Total>14.00</Total>
        <Item>
            <Name>BBQ Chicken Pizza</Name>
            <Price>6.00</Price>
            <Quantity>1</Quantity>
            <ItemTotal>6.00</ItemTotal>
        </Item>
        <Item>
            <Name>1.5 Litre Coke</Name>
            <Price>4.00</Price>
            <Quantity>2</Quantity>
            <ItemTotal>8.00</ItemTotal>
        </Item>
    </Order>
    <Order>
        <Number>10</Number>
        <Address>Parkville Avenue</Address>
        <Suburb>Pakuranga</Suburb>
        <City>Auckland</City>
        <Phonenumber>548 7342</Phonenumber>
        <Date>05/03/2010</Date>
        <Total>6.00</Total>
        <Item>
            <Name>Hawaiian Pizza</Name>
            <Price>4.00</Price>
            <Quantity>1</Quantity>
            <ItemTotal>4.00</ItemTotal>
        </Item>
        <Item>
            <Name>Fries</Name>
            <Price>1.00</Price>
            <Quantity>2</Quantity>
            <ItemTotal>2.00</ItemTotal>
        </Item>
    </Order>
</Orders>

Die entsprechende OrderSchema.xsd Datei für diesen XML ist:

<?xml version="1.0" encoding ="utf-8"?>
<xs:schema id="OrdersSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="Orders">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Order">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Number"/>
                            <xs:element name="Address"/>
                            <xs:element name="Suburb"/>
                            <xs:element name="City"/>
                            <xs:element name="Phonenumber"/>
                            <xs:element name="Date"/>
                            <xs:element name="Total"/>
                            <xs:element name="Item">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="Name"/>
                                        <xs:element name="Price"/>
                                        <xs:element name="Quantity"/>
                                        <xs:element name="ItemTotal"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Das folgende Code-Sample führt die Nested Mail-Fusion mit C# aus#.

Word-Dokument nach E-Mail Mischung

Unten ist die erste Seite des resultierenden Word-Dokuments, das nach dem Ausführen der Nested Mail-Fusion erworben wurde.

Word Document after Mail Merge

Schlussfolgerungen

Aspose.Words für .NET ist eine umfassende E-Mail-Fusion API, die sowohl Standard- als auch erweiterte Funktionen zur Verfügung stellt. Mit nur wenigen Code-Linien können Sie einfache oder komplexe Berichte aus verschiedenen Datenquellen unbequem entwickeln. Dokumentation. Um mit Aspose.Words für .NET zu beginnen, erkunden Sie die verfügbaren Entwickler Guides und Probencode auf GitHub. Der Aspose Plugin bietet auch fortschrittliche Funktionen für die Berichterstattung.

Versuchen Sie Aspose.Words für .NET kostenlos

Sie können eine kostenlose vorübergehende Lizenz erhalten, um Aspose.Words für .NET ohne Einschränkungen zu versuchen. Erhalten Sie Ihre vorübergehende Lizenz jetzt.

More in this category