Het automatiseren van de creatie van gepersonaliseerde documenten – zoals rapporten, brieven en factuur – kan de efficiëntie in uw werkstromen aanzienlijk verbeteren. met C# Mail Merge die wordt geleverd door Aspose.Words voor .NET, kunt u dit zonder twijfel bereiken. deze gids zal u doorbrengen met de Aspose-Word-Merge Plugin om efficiënt en schaalbaar documentgeneratie binnen uw .NET-toepassingen uit te voeren – zonder de behoefte aan MS Word of Office Interop.

Inhoud

Wat is Mail Merge?

Mail Merge is een krachtige methodologie voor dynamische documenten te genereren door templates te populeren met gegevens uit verschillende bronnen. Aspose.Words, kunt u taken zoals:

  • Persoonlijke brieven en facturen genereren.
  • Het creëren van bulkrapporten met behulp van gestructureerde formaten zoals XML, JSON of databases, waardoor de dynamische verslaggeneratie met C# en Aspose.Words mogelijk is.

Data Sources voor Mail Merge

Aspose.Words ondersteunt een verscheidenheid aan gegevensbronnen, waaronder:

  • Objecten: Populaire templates met behulp van klasinstanties.
  • XML: Structuurde gegevens opladen voor dynamische velden.
  • JSON: gemakkelijk geïntegreerd met moderne APIs.
  • CSV: Het leveren van tabelgegevens voor het genereren van bulkdocumenten.
  • DataTable / DataSet: Gebruik ADO.NET voor databaseintegratie.

Voorbereiding Template voor Mail Merge

De mail merge-template is het document dat fusievelden bevat die tijdens de uitvoering worden gepopuliseerd met gegevens uit uw aangegeven gegevensbron. De template kan in DOC of DOCX-formaat zijn en vereist geen specifieke stijl. Volg deze stappen om een mail merge-template te maken:

  • Open uw document of creëer een nieuw in MS Word.
  • Plaats de cursor waar u een fusieveld wilt invoeren.
  • In het Installeer menu selecteer u de Field optie.
  • Van de Fieldnamen lijst, selecteer MergeFeld.
  • Geef een naam aan voor het fusieveld in de Fieldnaam-box en klik op OK.
  • Bewaar het document.

De volgende screenshot illustreert een Voorbeelden template Het document.

Mail Merge Template

.NET Mail Merge API - Installatie

U kunt Aspose.Words voor .NET installeren door middel van verschillende methoden:

Perform Mail Merge in Word Document met behulp van C#

Zodra uw template klaar is, kunt u de mailmontage uitvoeren om documenten te genereren. hier zijn de stappen om de mailmontage op uw voorbereide template uit te voeren:

Hier is een codemonster dat laat zien hoe u automatische verslaggeneratie in C# kunt maken met behulp van een reeks waarden:

Word Document na Mail Merging

Execute Mail Merge in C#

Perform Mail Merge met behulp van XML Data Source in C#

XML-bestanden worden meestal gebruikt voor het opslaan en overdragen van gegevens. Aspose.Words voor .NET ondersteunt XML als een gegevensbron voor e-mailmontage-operaties. DataSet object en uitvoeren van de mail fusie. hieronder is een sample XML bestand voor ons gebruik case.

<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>

De volgende code-monster ontvangt gegevens uit een XML-databron en uitvoert de e-mailverzameling met behulp van C#.

Hieronder staat de mail merge Tempel dat zal worden gepopuliseerd met gegevens uit de XML-bestand.

Mail Merge Template for XML

Deze afbeelding vertegenwoordigt de eerste pagina van het resulterende Word-document dat is verkregen na het uitvoeren van de e-mailmontage.

Execute Mail Merge with XML in C#

Custom Formatting van Merge Fields

Aspose.Words voor .NET biedt verbeterde controle over het e-mailverzamelingsproces. MailMerge.FieldMergingCallback eigendom kunt u configureren mail fusie gedrag als elk fusiefeld wordt geconfronteerd. IFieldMergingCallback.FieldMerging en IFieldMergingCallback.ImageFieldMerging De methoden zorgen voor de aanpassing van de mail merge-operatie.

Hieronder is een codemonster die laat zien hoe u aangepaste formatting kunt toepassen tijdens de e-mailmonstering via het voorgenomen voorbeeldmonster:

De volgende implementeert de HandleMergeFieldAlternatingRows klasse.

Mail Meeg met Regio’s met behulp van C#

In sommige gevallen moet u een specifieke regio binnen het Word-document bevolen en herhalen. Voor dergelijke scenario’s, gebruik e-mail fusie met gebieden. Om een regio te creëren, bepaal zowel het begin als het einde van de regio; mail fusing zal vervolgens deze regio voor elk register in de gegevensbron herhaald. Het voorbeeld hieronder bevat twee regio’s — Orders en OrderDetails — met behulp van het fusiefeld «TableStart:Orders», «TaalEnd:OrderDatails», en «taalend:Tabels:De details».

Mail Merge Template with Regions

Hier is een codemonster dat mail fusie uitvoert op basis van regio’s voor de eerder genoemde Tempel.

De volgende methoden illustreren hoe u gegevens van een database kunt lezen.

Nested Mail Merg {#nested mail-merge}

Vaak worden gegevens van de bron gestructureerd in relatieve formaten. Bijvoorbeeld, “bestellingen” kunnen een een-to-many relatie hebben met “OrderDetails”, die records van items binnen een bestelling behoudt. In dergelijke scenario’s, gebruik nested mail fusie. Factuur template Dat past dit scenario goed in.

Mail Merge Template with Regions

De volgende is een XML-gegevensbron voor onze nested mail merge voorbeeld.

<?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>

De overeenkomstige OrderSchema.xsd bestand voor deze XML is:

<?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>

De volgende codemonster uitvoert de ingestelde e-mail fusie met behulp van C#.

Word Document na Mail Merging

Hieronder is de eerste pagina van het resulterende Word-document dat is verkregen na het uitvoeren van de ingestelde e-mailmontage.

Word Document after Mail Merge

Conclusie

Aspose.Words voor .NET is een uitgebreid mail merge API dat zowel standaard als uitgebreide functies biedt die geschikt zijn voor het gebruik van .NET-toepassingen. met slechts een paar lijn code kunt u eenvoudige of complexe rapporten uit verschillende gegevensbronnen onmiddellijk ontwikkelen. DocumentatieOm te beginnen met Aspose.Words voor .NET, ontdek de beschikbare Ontwikkelaars gids Proefcode op GitHubDe Aspose Plugin biedt ook geavanceerde functionaliteiten voor verslaggeneratie.

Probeer Aspose.Words voor .NET voor gratis

U kunt een gratis tijdelijke licentie verkrijgen om Aspose.Words voor .NET zonder beperkingen te proberen. Krijg nu je tijdelijke licentie.

More in this category