La automatización de la creación de documentos personalizados, como informes, cartas y facturas, puede mejorar significativamente la eficiencia en su flujo de trabajo.Con C# Mail Merge alimentado por Aspose.Words para .NET, puede lograrlo sin problemas.Este guía le pasará a través de la Aspose.Words Mail Merge Plugin para realizar una generación de documentos eficiente y escalable dentro de sus aplicaciones .NET – sin la necesidad de MS Word o Office Interop.Al final de este guía, usted será equipado para integrar C# Mail Merge para la automatización de informes y simplificar su flujo de trabajo de informes.
contenidos
- Qué es Mail Merge?
- Fuentes de datos para Mail Merge
- Preparación de los templates de correo
- Comenzar con Aspose.Words para .NET
- Performan el correo se mezcla con los datos de muestra
- El correo se mezcla con los datos XML
- Formato de campo personalizado
- El correo se une con las regiones
- El mensaje de Nested Mail
- Conclusión
Qué es Mail Merge}
Mail Merge es una metodología poderosa para la generación dinámica de documentos al popular modelos con datos de diferentes fuentes. Aspose.Words, puede automatizar tareas como:
- Generar cartas y facturas personalizadas.
- Crear informes en gran medida utilizando formatos estructurados como XML, JSON o bases de datos, lo que permite la generación de informes dinámicas con C# y Aspose.Words**.
Fuentes de datos para Mail Merge
Aspose.Words soporta una variedad de fuentes de datos, incluyendo:
- Objetos: Templates populares que utilizan instantes de clase.
- XML: Cargar datos estructurados para campos dinámicos.
- JSON: Se integra fácilmente con las APIs modernas.
- CSV: Descargar datos de tabla para la generación de documentos en gran medida.
- DataTable/DataSet: Utilice ADO.NET para la integración de datos.
Preparar Template para Mail Merge
El modelo de fusión de correo electrónico es el documento que contiene campos de fusión que se populará con datos de su fuente de datos especificada durante la ejecución. El modelo puede estar en formato DOC o DOCX y no requiere un estilo específico. Siga estos pasos para crear un modelo de fusión de correo electrónico:
- Abrir el documento o crear un nuevo en MS Word.
- Coloca el cursor donde desea insertar un campo de fusión.
- Desde el menú Insert, seleccione la opción **Field.
- De la lista Nombres de campo, seleccione MergeField.
- Especifique un nombre para el campo de fusión en la casilla Nombre de campo y haga clic en OK.
- Salva el documento.
The following screenshot illustrates a Modelo de muestra document.

.NET Mail Merge API - Instalación
Puede instalar Aspose.Words para .NET a través de varios métodos:
Performan Mail Merge en Documento de Word utilizando C#
Una vez que su modelo está listo, puede ejecutar la fusión de correo para generar documentos. Aquí están los pasos para realizar la fusión de correo en su modelo preparado:
- Load the template document using the Documento class.
- Set required mail merge options, such as Documento.MailMerge.TrimWhitespaces.
- Execute the mail merge using the Documento.MailMerge.Execución() method, passing the data source as a parameter.
- Save the generated document using the SiguienteSiguienteSiguienteSiguienteSiguiente) method.
Aquí hay una muestra de código que demuestra cómo generar informes automáticos en C# utilizando una serie de valores**:
Documento de palabra después de la mezcla de correo

Performan Mail Merge utilizando la fuente de datos XML en C#
XML files are commonly utilized for storing and transferring data. Aspose.Words for .NET supports XML as a data source for mail merge operations. Simply read the XML into a Los datos object and execute the mail merge. Below is a sample XML file for our use 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>
La siguiente muestra de código recupera los datos de una fuente de datos XML y ejecuta la fusión de correo utilizando C#.
Below is the mail merge Templo that will be populated with data from the XML file.

Esta imagen representa la primera página del documento Word resultante obtenido después de ejecutar la fusión de correo.

Formato personalizado de campos de mezcla {#formato personalizado de campos de mezcla}
Aspose.Words for .NET provides enhanced control over the mail merge process. The SiguienteSiguienteSiguienteSiguienteMergingCallback property allows you to configure mail merge behavior as each merge field is encountered. Implementing the SiguienteSiguienteSiguienteSiguienteCallback.FieldMerging and IFieldMergingCallback.ImageFieldMerging methods enables customization of the mail merge operation.
A continuación hay una muestra de código que demuestra cómo aplicar el formato personalizado durante la fusión de correo electrónico a través del modelo de ejemplo proporcionado:
La siguiente implementa la clase **HandleMergeFieldAlternatingRows.
Mail Merge con Regiones utilizando C#
Para crear una región, especifique tanto el comienzo como el final de la región; la fusión de correo repetirá entonces esta región para cada registro en la fuente de datos. El ejemplo del modelo a continuación contiene dos regiones — Ordens y Detalles de orden— utilizando los campos de fusión «TableStart:Order», «TableEnd:Order», «TableStart:OrderDetails» y «TableEnd:OrderDetails».

Here is a code sample that executes mail merge based on regions for the previously mentioned Templo.
Los siguientes métodos ilustran cómo leer datos de una base de datos.
El mensaje de Nested Mail se mezcla}
Often, data from the source is structured in relational formats. For example, “Orders” may have a one-to-many relationship with “OrderDetails,” which keeps records of items within an order. In such scenarios, utilize nested mail merge. Below is a sample Modelo de factura that suits this scenario well.

La siguiente es una fuente de datos XML para nuestro ejemplo de fusión de correos electrónicos.
<?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 archivo correspondiente OrderSchema.xsd para este XML es:
<?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 siguiente muestra de código ejecuta la fusión de correo nesto utilizando C#.
Documento de palabra después de la mezcla de correo
A continuación se encuentra la primera página del documento de Word resultante obtenido después de ejecutar la fusión de correo nido.

Conclusión
Aspose.Words for .NET is a comprehensive mail merge API that provides both standard and extended features suitable for .NET applications. With just a few lines of code, you can develop simple or complex reports from diverse data sources seamlessly. For guidance on the .NET automated report generation best practices, consult the Documentación. To begin with Aspose.Words for .NET, explore the available Guías del desarrollador and sample code on El GitHub. El Aspose Plugin también ofrece funcionalidades avanzadas para la generación de informes.
Prueba Aspose.Words para .NET gratis
You can obtain a free temporary license to try Aspose.Words for .NET without limitations. Obtenga tu licencia temporal ahora.
More in this category
- Convertir Word DOC/DOCX en PDF en C# .NET Aspose.Words' Document Converter Plugin
- Generar código de barras en documentos de Word (.NET, C#) | Leer código de barras desde Word (.NET)
- Extracción de imágenes de los documentos de Word en C# Procesamiento automático de imágenes
- Encontrar y reemplazar el texto en los documentos de Word utilizando el código de texto C#
- Crear documentos de palabras personalizados con C# .NET Aspose.Words Mail Merge Plugin