L’automazione della creazione di documenti personalizzati, come rapporti, lettere e fatturati, può migliorare significativamente l’efficienza del tuo flusso di lavoro. Con C# Mail Merge alimentato da Aspose.Words per .NET, puoi realizzare questo senza sforzo. Questo guide ti guiderà attraverso l’utilizzo del Speed.Plugin di merge di Word per eseguire una generazione efficiente e scalabile di documento all’interno delle tue applicazioni.NET – senza la necessità di MS Word o Office Interop.

contenuto

Che cosa è Mail Merge}

Mail Merge è una potente metodologia per generare in modo dinamico i documenti popolando i modelli con dati provenienti da varie fonti. Aspose.Words consente di automatizzare le attività come:

  • Generare lettere e fatturazioni personalizzate.
  • Creare rapporti in massa utilizzando formati strutturati come XML, JSON o database, consentendo la generazione dinamica di rapporti con C# e Aspose.Words.

Fonte dati per Mail Merge

Aspose.Words supporta una varietà di fonti di dati, tra cui:

  • Objects: Modelli popolari utilizzando istanze di classe.
  • XML: Carica i dati strutturati per i campi dinamici.
  • JSON: facile da integrare con le moderne API.
  • CSV: Rimuovere i dati tabellari per la generazione di documenti in massa.
  • DataTable/DataSet: Utilizzare ADO.NET per l’integrazione di database.

Preparazione Template per Mail Merge

Il modello di fusione di posta elettronica è il documento che contiene campi di fusione che saranno popolati con i dati della vostra fonte dati specificata durante l’esecuzione. Il modello può essere in formato DOC o DOCX e non richiede uno stile specifico. Seguire questi passaggi per creare un modello di fusione di posta elettronica:

  • Apri il tuo documento o crea un nuovo in MS Word.
  • Posizionare il cursore dove si desidera inserire un campo fusione.
  • Dal menu Inserisci, seleziona l’opzione Fondo.
  • Nella lista Nomi di campo, selezionare MergeField.
  • Inserisci un nome per il campo di fusione nella casella Nome del campo e fai clic su OK.
  • Salva il documento.

Il seguente screenshot illustra una Modello di campione Il documento.

Mail Merge Template

.NET Mail Merge API - Installazione

È possibile installare Aspose.Words per .NET attraverso diversi metodi:

Perform Mail Merge in Word Document utilizzando C#

Una volta che il tuo modello è pronto, puoi eseguire la fusione di posta per generare documenti. ecco i passaggi per eseguire la fusione di posta sul tuo modello preparato:

Ecco un campione di codice che dimostra come generare il rapporto automatico in C# utilizzando una serie di valori:

Documenti di parola dopo la messa a posta

Execute Mail Merge in C#

Perform Mail Merge utilizzando XML Data Source in C#

I file XML sono comunemente utilizzati per la memorizzazione e il trasferimento dei dati. Aspose.Words per .NET supporta XML come fonte di dati per le operazioni di fusione postale DataSet oggetto e eseguire la fusione di posta. qui sotto è un file XML di campione per il nostro caso di utilizzo.

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

Il seguente campione di codice raccoglie i dati da una fonte di dati XML e esegue la fusione di posta elettronica utilizzando C#.

Di seguito è il messaggio di fusione Il Tempio che sarà popolato con i dati dal file XML.

Mail Merge Template for XML

Questa immagine rappresenta la prima pagina del risultato documento Word ottenuto dopo l’esecuzione della fusione di posta.

Execute Mail Merge with XML in C#

Formattazione personalizzata dei campi di fusione {#formattazione personalizzata dei campi di fusione}

Aspose.Words per .NET fornisce un controllo migliorato sul processo di fusione del messaggio Sito ufficiale: FieldMergingCallback La proprietà ti consente di configurare il comportamento di fusione postale come ogni campo è incontrato IfieldMergingCallback.FieldMerging e IFieldMergingCallback.ImageFieldMerging I metodi consentono la personalizzazione dell’operazione di fusione della posta.

Di seguito è un campione di codice che dimostra come applicare il formato personalizzato durante la fusione di posta elettronica attraverso il modello di esempio fornito:

Il seguente implementa la classe HandleMergeFieldAlternatingRows.

Corrispondenza con Regioni utilizzando C#

In alcuni casi, è possibile che si debba localizzare e ripetere una specifica regione all’interno del documento di Word. Per tali scenari, utilizzare la fusione di posta con le regioni. per creare una Regione, specificare sia l’inizio che la fine della regazione; poi, la fuga di Posta ripeterà questa regzione per ciascun registro nella fonte di dati. L’esempio di modello qui sotto contiene due regzioni - Ordini e Dettagli di Ordine - utilizzando i campi di fusioni «TableStart:Ordine», «Solo di Tabella:Details», e «Lascia Tabelle:Risposte».

Mail Merge Template with Regions

Ecco un campione di codice che esegue la fusione del messaggio in base alle regioni per i precedenti Il Tempio.

I seguenti metodi illustrano come leggere i dati da un database.

Nosted Mail si unisce}

Spesso, i dati dalla fonte sono strutturati in formati relativi. Ad esempio, “Ordine” possono avere una relazione uno-a-molto con “OrderDetails”, che conserva i record degli articoli all’interno di un ordine. In tali scenari, utilizzare la fusione di posta nested Modello di fatturazione Questo scenario si adatta bene.

Mail Merge Template with Regions

Il seguente è una fonte di dati XML per il nostro esempio di fusione postale.

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

Il file OrderSchema.xsd corrispondente per questo XML è:

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

Il seguente campione di codice esegue la fusione di posta nista utilizzando C#.

Documenti di parola dopo la messa a posta

Di seguito è la prima pagina del documento Word risultante ottenuto dopo l’esecuzione della fusione postale.

Word Document after Mail Merge

conclusione

Aspose.Words per .NET è un’API completa di fusione di posta che fornisce sia funzionalità standard che estese adatte per le applicazioni .Net. Con solo poche righe di codice, è possibile sviluppare rapporti semplici o complessi da diverse fonti di dati senza sguardo Documentazione. Per iniziare con Aspose.Words per .NET, esplora il disponibile Guida dello sviluppatore e il codice di campione su GitHub. Il Aspose Plugin offre anche funzionalità avanzate per la generazione di rapporti.

Prova Aspose.Words per .NET gratuitamente

È possibile ottenere una licenza temporanea gratuita per provare Aspose.Words per .NET senza limitazioni. Ottieni ora la tua licenza temporanea.

More in this category