L’automatització de la creació de documents personalitzats, com ara informes, lletres i factures, pot millorar significativament l’eficiència en el seu flux de treball. Amb C# Mail Merge alimentat per Aspose.Words per a .NET, pots aconseguir-ho sense cap mena de seguretat. Aquesta guia us passarà utilitzant el Aspose:Word Mail merge Plugin per realitzar una generació eficient i escalable de document dins de les teves aplicacions.NET sense necessitat de MS Word o Office Interop.

Contingut

Què és Mail Merge}

Mail Merge és una metodologia poderosa per a la generació dinàmica de documents populant temples amb dades de diverses fonts. amb Aspose.Words, es poden automatitzar tasques com ara:

  • Generar cartes i factures personalitzades.
  • Crear informes en massa utilitzant formats estructurats com XML, JSON, o bases de dades, permetent la generació d’informes dinàmica amb C# i Aspose.Words.

Fonts de dades per a Mail Merge

Aspose.Words dóna suport a una varietat de fonts de dades, incloent:

  • Objectes: Models populars utilitzant instàncies de classe.
  • XML: Carregar dades estructurades per a camps dinàmics.
  • JSON: fàcilment integrat amb les APIs modernes.
  • CSV: Lliurament de dades de taula per a la generació de documents en massa.
  • DataTable / DataSet: Utilitza ADO.NET per a la integració de bases de dades.

Preparació de temples per a Mail Merge

El model de fusió de correu electrònic és el document que conté camps de fusió que es popularan amb dades de la seva font de dades especificada durant l’execució. El model pot ser en format DOC o DOCX i no requereix un estil específic:

  • Obrir el document o crear un nou en MS Word.
  • Posar el cursor on voleu inserir un camp de fusi.
  • Des del menú Insert, seleccioneu l’opció Fili.
  • Des de la llista Noms de camp, seleccioneu MergeField.
  • Especifica un nom per al camp de fusió a la casella Nom de camp i feu clic a OK.
  • Salvem el document.

La següent imatge il·lustra una Models de mostra El document.

Mail Merge Template

.NET Mail Merge API - Instal·lació

Podeu instal·lar Aspose.Words per .NET a través de diferents mètodes:

Performan Mail Merge en el Document de Word utilitzant C#

Una vegada que el teu model està preparat, pots executar la fusió de correu per generar documents.Aquí són els passos per realitzar la fusió de correu en el teu model preparat:

Aquí teniu una mostra de codi que demostra com generar informes automàtics en C# amb una sèrie de valors:

Document de paraula després de la mescla

Execute Mail Merge in C#

Performan Mail Merge utilitzant XML Data Source en C#

Els arxius XML són comunament utilitzats per emmagatzemar i transferir dades. Aspose.Words per .NET recolza XML com a font de dades per a les operacions de fusió de correu electrònic. DataSet Object i executeu la fusió de correu. A continuació hi ha un fitxer XML de mostra per al nostre cas d’ús.

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

La mostra de codi següent recupera dades d’una font de dades XML i executa la fusió de correu utilitzant C#.

A continuació es troba l’e-mail Temple que es popularà amb dades del fitxer XML.

Mail Merge Template for XML

Aquesta imatge representa la primera pàgina del document Word resultant obtingut després d’executar la fusió de correu.

Execute Mail Merge with XML in C#

Formatatge personalitzat dels camps de barreja

Aspose.Words per a .NET proporciona un control millor sobre el procés de fusió de correu. MailMerge.FieldMergingCallback La propietat li permet configurar el comportament de la fusió de correu com cada camp es troba. IfieldMergingCallback.FieldMerging i IFieldMergingCallback.ImageFieldMerging Els mètodes permeten la personalització de l’operació de fusió de correu.

A continuació hi ha una mostra de codi que demostra com aplicar la formatació personalitzada durant la fusió de correu a través de l’exemple proporcionat:

El següent implementa la classe HandleMergeFieldAlternatingRows.

Mail Merge amb Regions utilitzant C#

En alguns casos, pot ser que necessiteu localitzar i repetir una regió específica dins del document de Word. Per a aquests escenaris, utilitzeu la fusió de correu amb les regions.Per crear una zona, especifiqueu tant el començament com el final de la zona; l’e-mail fusion repetirà llavors aquesta zona per a cada registre en la font de dades. L’exemple de model a continuació conté dues regions - Ordres i Detalls d’ordre - utilitzant els camps de fusión «TableStart:Ordres», «TaulaEnd:OrderDetails», i « TaulaEntre:Detalls».

Mail Merge Template with Regions

Aquí hi ha una mostra de codi que executa la fusió de correu electrònic basada en regions per al anteriorment esmentat Temple.

Els següents mètodes il·lustren com llegir dades d’una base de dades.

Nosted Mail Merge

Sovint, les dades de la font es estructuren en formats relacionals. Per exemple, “Ordenes” poden tenir una relació d’una a diverses amb “Details de l’ordre”, que manté els registres dels articles dins d’una ordre. En aquests escenaris, utilitzeu la fusió de correu nested. Templat de facturació Això s’ajusta molt bé a aquest escenari.

Mail Merge Template with Regions

El següent és una font de dades XML per a l’exemple de la nostra fusió de correu Nested.

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

El fitxer OrderSchema.xsd corresponent per a aquest XML és:

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

La mostra de codi següent executa la fusió de correu nestada utilitzant C#.

Document de paraula després de la mescla

A continuació es troba la primera pàgina del document Word resultant obtingut després d’executar la fusió de correu.

Word Document after Mail Merge

Conclusió

Aspose.Words per .NET és una API de fusió de correu integral que proporciona tant característiques estàndard com ampliades adequades per a aplicacions d’NET. Amb només unes poques línies de codi, es poden desenvolupar informes simples o complexes de diverses fonts de dades sense cap dubte. Documentació. Per començar amb Aspose.Words per a .NET, explora el disponible Guia del desenvolupador i el codi de mostra en GitHub. El Plugin Aspose també ofereix funcionalitats avançades per a la generació de informes.

Prova Aspose.Words per a .NET per a lliure

Podeu obtenir una llicència temporal gratuïta per provar Aspose.Words per .NET sense limitacions. Obtenir la seva llicència temporal ara.

More in this category