Automatisering af oprettelse af personligt dokumenter – såsom rapporter, bogstaver og fakturer – kan væsentligt forbedre effektiviteten i dit arbejdsproces. Med C# Mail Merge drives af Aspose.Words for .NET, kan du opnå dette uden problemer. Denne guide vil gå dig igennem ved hjælp af Plugin til at udføre effektiv og skalaerbar dokumentgenerering inden for dine applikationer.NET – uden behov for MS Word eller Office Interop.

Indhold

Hvad er Mail Merge}

Mail Merge er en kraftig metod til dynamisk generering af dokumenter ved at populere maler med data fra forskellige kilder. Aspose.Words giver dig mulighed for at automatisere opgaver som:

  • Generere personlige breve og fakturaer.
  • Oprett bulkrapporter ved hjælp af strukturerede formater som XML, JSON eller databaser, der muliggør dynamisk rapportering med C# og Aspose.Words.

Data kilder til Mail Merge

Aspose.Words understøtter en række datakilder, herunder:

  • Objekter: Populære maler ved hjælp af klasseinstanser.
  • XML: Lade strukturerede data til dynamiske felter.
  • JSON: Let at integrere med moderne APIs.
  • CSV: Levering af tabulære data til generering af dokumenter i massen.
  • DataTable / DataSet: Brug ADO.NET til databaseintegration.

Forberedelse af templet til Mail Menge {#forberedelse af mail-menge-templer}

Mail merge-templet er dokumentet, der indeholder mergefelter, der vil blive populeret med data fra din angivne datakilde under udførelsen. Templet kan være i DOC eller DOCX-format og kræver ikke en specifik stil. Følg disse trin for at oprette en mail merge-templet:

  • Du kan åbne dit dokument eller oprette en ny i MS Word.
  • Placer kursoren, hvor du vil indsætte et fusionsfelt.
  • Fra Inser-menuen skal du vælge Field.
  • Fra listen Feltnavn skal du vælge MergeField.
  • Angiv et navn for fusionsfeltet i Feldnavn-fladen og klik på OK.
  • Save det dokument.

Følgende skærmbillede illustrerer en Eksempler på templer Det dokument.

Mail Merge Template

.NET Mail Fusion API - Installation

Du kan installere Aspose.Words for .NET ved hjælp af forskellige metoder:

Perform Mail-Meg i Word-dokumentet ved hjælp af C#

Når dit maleri er klar, kan du køre mail fusionen for at generere dokumenter. her er trinene for at køre mail fusionen på dit forberedt maleri:

Her er en kodeprøve, der viser, hvordan man automatiserer rapportering i C# ved hjælp af en række værdier:

Orddokumentet efter Mail Merg

Execute Mail Merge in C#

Gennemfør Mail Merge ved hjælp af XML Data Source i C#

XML-filer bruges almindeligt til opbevaring og overførsel af data. Aspose.Words for .NET understøtter XML som en datakilde for e-mail fusionsoperationer. DataSet objekt og køre e-mail fusion. nedenfor er en prøve XML-fil for vores brug 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>

Følgende kodeprøve indsamler data fra en XML-data kilde og udfører mailfusionen ved hjælp af C#.

Nedenfor er mail merge Templet Det vil blive populeret med data fra XML-filen.

Mail Merge Template for XML

Dette billede repræsenterer den første side af det resulterende Word-dokument, der er opnået efter udførelsen af mailfusionen.

Execute Mail Merge with XML in C#

Tilpasset formatering af fælder

Aspose.Words for .NET giver forbedret kontrol over mail merge processen. Anmeldelse af MailMerge.FieldMergingCallback ejendommen giver dig mulighed for at konfigurere mail fusion adfærd, da hvert fusionsfelt er mødt. IFieldMergingCallback.FieldMerging og IFieldMergingCallback.ImageFieldMerging Metoderne gør det muligt at tilpasse postfusionen.

Nedenfor er en kodeprøve, der viser, hvordan man anvender tilpasset formatering under e-mail fusion gennem den foreslåede eksempelmodel:

Følgende implementerer HandleMergeFieldAlternatingRows klasse.

Mail Mælge med Regioner ved hjælp af C#

I nogle tilfælde kan du behøve at populere og gentage en bestemt region inden for Word-dokumentet. For sådanne scenarier, brug mail fusion med regioner. Til at oprette en region, angiv både begyndelsen og slutningen af regionen; mail Fusion vil derefter gentages denne region for hver rekord i datakilde. Templet eksemplet nedenfor indeholder to områder — Ordre og OrderDetails — ved hjælp af de fusionsfelter «TableStart:Ordre», «tabellend:OrderDatails» og «tableEnd:orderDetaljer».

Mail Merge Template with Regions

Her er en kodeprøve, der udfører mail merge baseret på regioner for de tidligere nævnte Templet.

Følgende metoder illustrerer, hvordan man læser data fra en database.

Nested Mail Mælger}

Ofte er data fra kilden struktureret i relationelle formater. For eksempel kan “Order” have en enkelt-til-mange forhold til “Orddetaljer”, som holder optegnelser af genstande inden for en ordre. I sådanne scenarier, brug nestede mail fusion. Nedenfor er en prøve Indtægtsmodeller Det passer godt til dette scenario.

Mail Merge Template with Regions

Nedenfor er en XML-data kilde til vores nested mail merge eksempel.

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

Den tilsvarende OrderSchema.xsd fil for denne XML er:

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

Følgende kodeprøve udfører den nestede mail fusion ved hjælp af C#.

Orddokumentet efter Mail Merg

Nedenfor er den første side af det resulterende Word-dokument, der er opnået efter udførelsen af den nestede mail merge.

Word Document after Mail Merge

Konklusion

Aspose.Words for .NET er en omfattende mail merge API, der giver både standard og udvidede funktioner egnet til .Net-applikationer. Med kun få linjer af kode, kan du udvikle enkle eller komplekse rapporter fra forskellige datakilder uafhængigt. Dokumentation. For at begynde med Aspose.Words for .NET, skal du udforske den tilgængelige Udviklerens vejledning Undersøg koden på GitHub. Aspose Plugin tilbyder også avancerede funktioner til rapportering.

Prøv Aspose.Words for .NET for gratis

Du kan få en gratis midlertidig licens til at prøve Aspose.Words for .NET uden begrænsninger. Få din midlertidige licens nu.

More in this category