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, se puede lograr esto sin problemas.Este guía le pasará a través de usar el Aspose-Word Mail merge Plugin para realizar una generación de documento eficiente y escalable dentro de sus aplicaciones.NET-sin la necesidad de MS Word o Office Interop.Al final de este guión, usted será equipado para integrar Payer C# para automatizar las informaciones y acelerar su funcionamiento de reporting utilizando la funcionalidad de Speed-Cells.
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.
La siguiente imagen de pantalla ilustra a Modelo de muestra El documento.

.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:
- Descarga el documento de modelo utilizando el Documento de clase.
- Establecer las opciones de fusión de correo requeridas, tales como Documento.MailMerge.TrimWhitespaces.
- Ejecutar la fusión de correo mediante el Documento.MailMerge.Execución() método, pasando la fuente de datos como un parámetro.
- Salva el documento generado utilizando el SiguienteSiguienteSiguienteSiguienteSiguiente) El método.
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#
Los archivos XML se utilizan comúnmente para almacenar y transferir datos. Aspose.Words para .NET soporta XML como fuente de datos para operaciones de fusión de correo. DataSet Objeto y ejecutar la fusión de correo. A continuación se encuentra un archivo de muestra XML para nuestro caso de uso.
<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#.
Abajo está el correo Muerte Templo que se habrá populado con datos del archivo XML.

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 para .NET proporciona un control mejorado sobre el proceso de fusión de correo. SiguienteSiguienteSiguienteSiguienteMergingCallback propiedad le permite configurar el comportamiento de la fusión de correo como cada campo se encuentra. SiguienteSiguienteSiguienteSiguienteCallback.FieldMerging y IFieldMergingCallback.ImageFieldMerging Los métodos permiten la personalización de la operación de fusión de correo.
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 fusion «TableStart:Orders», « TablaEnd:OrderDetails» y « tablaEncerramiento:Detalles».

Aquí hay una muestra de código que ejecuta la fusión de correo electrónico basada en las regiones para las mencionadas anteriormente. Templo.
Los siguientes métodos ilustran cómo leer datos de una base de datos.
El mensaje de Nested Mail se mezcla}
A menudo, los datos de la fuente se estructuran en formatos relativos. Por ejemplo, “Ordenes” pueden tener una relación uno a varios con “Details de pedido”, que mantiene registros de artículos dentro de un pedido. En tales escenarios, utilice una fusión de correo nido. Modelo de factura Esto se adapta bien a este escenario.

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 para .NET es una API integral de fusión de correos que proporciona tanto características estándar como ampliadas adecuadas para las aplicaciones. con sólo unas pocas líneas de código, puede desarrollar informes sencillos o complejos de diversas fuentes de datos sin duda. Documentación. Para comenzar con Aspose.Words para .NET, explora el disponible Guías del desarrollador y el código de muestra en GitHub. El Aspose Plugin también ofrece funcionalidades avanzadas para la generación de informes.
Prueba Aspose.Words para .NET gratis
Puede obtener una licencia temporal gratuita para probar Aspose.Words para .NET sin limitaciones. 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