Automatizarea creării documentelor personalizate – cum ar fi rapoartele, scrisorile și facturile – poate îmbunătăți în mod semnificativ eficiența fluxului de lucru. cu C# Mail Merge alimentat de Aspose.Words pentru .NET, puteți realiza acest lucru fără probleme. acest ghid vă va duce prin utilizarea plugin-ului Askos.Scripture pentru a efectua o generație eficientă și scalabilă de documente în cadrul aplicațiilor dvs. .NET – fără a avea nevoie de MS Word sau Office Interop.
conținut
- Ce este Mail Merge?
- Sursele de date pentru Mail Merge
- Pregătirea e-mail Merg Template
- Începeți cu Aspose.Words pentru .NET
- Perform Mail se combină cu datele de eșantion
- Mail se amestecă cu datele XML
- Formatul de câmp personalizat
- Poștă se alătură regiunilor
- Poștă neagră
- concluziile
Ce este Mail Merge?
Mail Merge este o metodologie puternică pentru generarea dinamică a documentelor prin popularea șabloanelor cu date din diferite surse. Aspose.Words vă permite să automatizați sarcinile cum ar fi:
- Generarea scrisorilor și facturilor personalizate.
- Creați rapoarte în masă folosind formate structurate, cum ar fi XML, JSON sau baze de date, permițând generația dinamică a raporturilor cu C# și Aspose.Words.
Sursele de date pentru Mail Merge
Aspose.Words susține o varietate de surse de date, inclusiv:
- Obiectele: Modele populare folosind instante de clasă.
- XML: Încărcați date structurate pentru câmpurile dinamice.
- JSON: Se integrează cu ușurință cu API-urile moderne.
- CSV: Livrare a datelor tabloului pentru generarea în masă a documentelor.
- DataTable / DataSet: Utilizați ADO.NET pentru integrarea datelor de bază.
Pregătirea Templat pentru Mail Merge
Șablonul de mișcare de poștă este documentul care conține câmpuri de mișcare care vor fi populate cu date din sursa de date specificată în timpul executării. Șablonul poate fi în format DOC sau DOCX și nu necesită un stil specific. Urmați aceste pași pentru a crea un șablon de mișcare de poștă:
- Deschideți documentul sau creați un nou în MS Word.
- Puneți cursorul acolo unde doriți să introduceți un câmp de fuzionare.
- Din meniul Insert, selectați opțiunea Field.
- Din lista Numele câmpului, selectați MergeField.
- Specificați un nume pentru câmpul de fuzionare în caseta Numele câmpului și faceți clic pe OK.
- salvează documentul.
Următorul ecran ilustră o Modelul de eșantion documentă .

.NET Mail Merge API - Instalare
Puteți instala Aspose.Words pentru .NET prin diferite metode:
Perform Mail Merge în Documentul Word folosind C#
Odată ce șablonul dvs. este gata, puteți efectua fuzionarea poștală pentru a genera documente.Aici sunt pașii pentru a efectua fuzionarea poștală pe șablonul dvs. pregătit:
- Încărcați documentul de șablon folosind Documentul în clasă.
- Setarea opțiunilor de fuzionare de e-mail necesare, cum ar fi: Document.MailMerge.TrimWhitspaces.
- Executaţi e-mailul cu ajutorul Document.MailMerge.Execută() metodă, trecând sursa de date ca un parametru.
- salveaza documentul generat folosind Cuvânt cheie (String) metodă .
Iată un eșantion de cod care demonstrează cum să se genereze rapoarte automată în C# folosind o serie de valori:
Documentul Word după aderarea poștalelor

Perform Mail Merge folosind XML Data Source în C#
Fișierele XML sunt utilizate în mod obișnuit pentru stocarea și transferul datelor. Aspose.Words pentru .NET susține XML ca sursă de date pentru operațiunile de fuzionare prin poștă. DataSet Obiectul și executați mișcarea poștală. mai jos este un fișier XML de eșantion pentru cazul nostru de utilizare.
<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>
Următorul eșantion de cod retrage datele dintr-o sursă de date XML și execută fuzia de e-mail folosind C#.
Mai jos se găsește e-mailul Templul Acestea vor fi populate cu date din fișierul XML.

Această imagine reprezintă prima pagină a documentului Word care rezultă obținut după executarea fuziei de poștă.

Formatarea personalizată a câmpurilor de mișcare {#formatarea personalizată a câmpurilor de mișcare}
Aspose.Words pentru .NET oferă un control îmbunătățit asupra procesului de fuzionare a poștalelor. Articole cu eticheta MailMergingCallback proprietatea vă permite să configurați comportamentul de fuzionare prin poștă pe măsură ce se întâlnește fiecare câmp. IFieldMergingCallback.FieldMerging şi IFieldMergingCallback.ImageFieldMerging Metodele permit personalizarea operațiunii de fuzionare a poștalelor.
Mai jos este un eșantion de cod care demonstrează cum să se aplice formatul personalizat în timpul fuziei de poștă prin intermediul șablonului de exemplu furnizat:
Următoarea implementează clasa HandleMergeFieldAlternatingRows.
Mail Merge cu Regiuni folosind C#
În unele cazuri, poate fi necesar să populați și să repetați o anumită zonă în documentul Word. Pentru astfel de scenarii, folosiți fuzionarea poștală cu regiuni. pentru a crea o regiune, specificați atât începutul, cât și sfârșitul regiunii; după aceea, fusionarea e-mailului va repetă această regiunea pentru fiecare înregistrare din sursa de date. Exemplul de șablonă de mai jos conține două zone - Ordini și Detalii de ordine - folosind câmpurile de fuziune «TableStart:Ordinare», «Detații de comandă» și «Descrieri de ordin».

Iată un eșantion de cod care execută fuzionarea poștală în funcție de regiuni pentru cele menționate anterior Templul.
Următoarele metode ilustrează modul de a citi date dintr-o bază de date.
Postul Nested Mail se alătură
Adesea, datele de la sursă sunt structurate în formate relaționale. De exemplu, “Ordinele” pot avea o relație de unul la altul cu “Detațiile de comandă”, care păstrează înregistrările de articole în cadrul unei comenzi. În astfel de scenarii, folosiți un amestec de poștă nested. Mai jos este un eșantion Templu de factură Acest scenariu se potrivește foarte bine.

Următorul este o sursă de date XML pentru exemplul nostru de fuzionare de e-mail 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>
Fișierul OrderSchema.xsd corespunzător pentru acest XML este:
<?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>
Următorul eșantion de cod execută fuzionarea poștală născută folosind C#.
Documentul Word după aderarea poștalelor
Mai jos este prima pagină a documentului Word rezultatul obținut după executarea fuziei de poștă.

concluziile
Aspose.Words pentru .NET este o API cuprinzătoare de mesagerie care oferă atât caracteristici standard și extinse potrivite pentru aplicațiile .NET. Cu doar câteva linii de cod, puteți dezvolta rapoarte simple sau complexe din diverse surse de date fără întârziere. DocumentarePentru a începe cu Aspose.Words pentru .NET, explorați disponibilul Ghidul dezvoltatorului Codul de eșantionare pe GitHubPluginul Aspose oferă, de asemenea, funcții avansate pentru generarea de rapoarte.
Încercați Aspose.Words pentru .NET pentru gratuit
Puteți obține o licență temporară gratuită pentru a încerca Aspose.Words pentru .NET fără restricții. Obțineți licența dvs. temporară acum.
More in this category
- Convertați Word DOC/DOCX în PDF în C# .NET Aspose.Words' Document Converter Plugin
- Generați codul de frână în documentele Word (.NET, C#) și citiți codul de frână din Word (.NET)
- Extrageți imagini din documentele Word în procesarea automată a imaginii C#
- Găsiți și înlocuiți textul în documentele Word folosind C# Automat Word Editing
- Creați documente Word personalizate folosind C# .NET Aspose.Words Mail Merge Plugin