
Automatizar la generación de documentos es esencial para las empresas que buscan crear informes dinámicos, facturas y cartas. Con Aspose.Words Mail Merge para .NET, puedes rellenar eficientemente plantillas de Word con datos de diversas fuentes, incluidos objetos, CSV, JSON y XML. Esta guía te llevará a través de la utilización de la combinación de correspondencia en C# para flujos de trabajo de documentos automatizados y optimizados, centrándose en la creación dinámica de documentos de Word con C# .NET.
Temas Cubiertos:
- Descripción general de la combinación de correspondencia para .NET
- Generar documentos a partir de diversas fuentes de datos
- Mejores prácticas para la combinación de correspondencia
- Preguntas Frecuentes
Descripción general de la combinación de correspondencia para .NET
Aspose.Words Mail Merge para .NET permite a los desarrolladores generar documentos personalizados a partir de plantillas predefinidas que contienen campos de combinación. Este plugin está diseñado para una integración fluida dentro de entornos .NET, ofreciendo capacidades para:
- Rellenar dinámicamente plantillas con datos, soportando la generación de documentos de Word en el marco .NET.
- Realizar eficientemente la generación masiva de documentos, aprovechando la solución de combinación de correspondencia en .NET para grandes conjuntos de datos.
- Asegurar un formato consistente en todas las salidas, mejorando las mejores prácticas de plantillas de documentos de Word en C#.
Características Clave:
- Soporte Multi-Fuente: Usa datos de objetos, bases de datos, XML, JSON y CSV para crear documentos de Word personalizados con C#.
- Alto Rendimiento: Maneja eficientemente grandes conjuntos de datos y operaciones masivas para la generación dinámica de documentos de Word con .NET Core.
- Plantillas Personalizables: Crea plantillas con marcadores de posición para la inserción de datos, utilizando las capacidades de automatización de combinación de correspondencia de Word en .NET.
Configuración
Para comenzar, instala Aspose.Words usando NuGet:
PM> Install-Package Aspose.Words
Generar documento de Word desde plantilla usando objetos C#
Comencemos por rellenar una plantilla de Word usando objetos C#. Crearemos un documento de Word (DOC/DOCX) con los siguientes marcadores de posición:
<<[sender.Name]>> dice: "<<[sender.Message]>>."
En este ejemplo, sender es una instancia de una clase que utilizaremos para rellenar la plantilla usando el enfoque de generar documento de Word desde la base de datos en C#.
A continuación, utilizaremos el motor de informes de Aspose.Words para generar el documento de Word a partir de la plantilla y la instancia de la clase Sender siguiendo estos pasos:
- Crea una instancia de la clase Document e inicialízala con la ruta de la plantilla de Word.
- Crea e inicializa un objeto de la clase Sender.
- Instancia la clase ReportingEngine.
- Rellena la plantilla usando ReportingEngine.BuildReport(), que toma la instancia del Documento, la fuente de datos y el nombre de la fuente de datos como parámetros.
- Guarda el documento de Word generado usando Document.Save().
Aquí tienes el ejemplo de código que demuestra cómo generar un documento de Word desde una plantilla en C#.
Salida

Generar documento de Word desde una fuente de datos XML en C#
Para generar un documento de Word desde una fuente de datos XML, utilizaremos una plantilla de Word más compleja con los siguientes marcadores de posición:
<<foreach [in persons]>>Nombre: <<[Name]>>, Edad: <<[Age]>>, Fecha de Nacimiento: <<[Birth]:"dd.MM.yyyy">>
<</foreach>>
Edad promedio: <<[persons.Average(p => p.Age)]>>
La fuente de datos XML utilizada en este ejemplo se muestra a continuación.
Para crear un documento de Word a partir de una fuente de datos XML, sigue estos pasos:
- Crea una instancia de la clase Document e inicialízala con la ruta de la plantilla de Word.
- Crea una instancia de la clase XmlDataSource e inicialízala con la ruta del archivo XML.
- Instancia la clase ReportingEngine.
- Usa el método ReportingEngine.BuildReport() para rellenar la plantilla de Word.
- Guarda el documento de Word generado usando el método Document.Save().
Aquí tienes el ejemplo de código que demuestra cómo generar un documento de Word desde una fuente de datos XML en C#.
Salida

Generar documento de Word desde una fuente de datos JSON en C#
A continuación, exploremos cómo generar un documento de Word utilizando una fuente de datos JSON. En este ejemplo, crearemos una lista de clientes segmentados por sus gerentes. La plantilla de Word se verá así:
<<foreach [in managers]>>Gerente: <<[Name]>>
Contratos:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
La correspondiente fuente de datos JSON que utilizaremos para rellenar la plantilla es la siguiente:
Para generar el documento de Word desde JSON, utilizaremos la clase JsonDataSource para cargar la fuente de datos, y los pasos restantes seguirán la estructura anterior. Aquí tienes el ejemplo de código que demuestra cómo generar un documento de Word desde la plantilla JSON en C#.
Salida

Generar documento de Word desde una fuente de datos CSV en C#
Para generar el documento de Word desde una fuente CSV, utilizaremos la siguiente plantilla de Word:
<<foreach [in persons]>>Nombre: <<[Column1]>>, Edad: <<[Column2]>>, Fecha de Nacimiento: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
Edad promedio: <<[persons.Average(p => p.Column2)]>>
La plantilla se rellenará utilizando los siguientes datos CSV:
Ahora, revisemos el código C#. Los pasos permanecen iguales excepto por una diferencia clave: utilizaremos la clase CsvDataSource para cargar los datos CSV. El siguiente ejemplo de código ilustra cómo generar el documento de Word desde una fuente de datos CSV.
Salida

Prueba Aspose.Words para .NET gratis
Puedes probar Aspose.Words para .NET utilizando una licencia temporal gratuita.
Conclusión
En este artículo, has aprendido a generar documentos de Word a partir de plantillas utilizando C#. Has explorado cómo aprovechar diversas fuentes de datos como objetos, XML, JSON y CSV para la generación dinámica de documentos en .NET. Para obtener más información sobre las capacidades de procesamiento de plantillas de Word en .NET, sumérgete en la documentación, y no dudes en ponerte en contacto a través de nuestro foro.