XML es un lenguaje autodescriptivo recomendado por W3C que está diseñado para almacenar y transportar datos. Un desarrollador puede cambiar el formato XML a cualquier otro formato mejor legible por humanos como un documento PDF o MS Word dentro de la aplicación .NET. Este artículo discutirá cómo convertir datos XML en informes PDF y MS Word usando C# a través de plantillas simples.
A continuación se tratan los siguientes temas:
- API .NET para generar informes
- Generar informe en PDF a partir de datos XML usando C#
- Generar informe DOC/DOCX de MS Word a partir de datos XML usando C#
Generación de informes API .NET: XML a PDF y WORD
GroupDocs.Assembly for .NET es la API para automatizar la generación de informes a partir de los datos XML utilizando la plantilla DOCX o TXT. Además, es compatible con JSON, CSV y otras fuentes de datos para convertir los datos en informes de diferentes formatos de archivo.
Puede descargar el instalador DLL o MSI desde la sección de descargas o instalar la API en su aplicación .NET a través de NuGet.
PM> Install-Package GroupDocs.Assembly
Generar informe en PDF a partir de datos XML en C#
3 simples pasos lo llevarán a convertir datos XML en el informe PDF formateado.
- Cargue su fuente de datos XML.
- Defina la plantilla de acuerdo con los datos XML cargados.
- Finalmente, proporcione una fuente de datos XML y una plantilla para un método de generación de informes.
Datos XML
Los siguientes datos de muestra XML se utilizan para convertirlos al informe PDF. Contiene los datos de los gerentes y sus respectivos clientes con algunos detalles más.
<Managers>
<Manager>
<Name>John Smith</Name>
<Contract>
<Client>
<Name>A Company</Name>
</Client>
<Price>1200000</Price>
</Contract>
<Contract>
...
</Contract>
...
</Manager>
<Manager>
<Name>Tony Anderson</Name>
...
</Manager>
...
</Managers>
Modelo
Defina la plantilla en formato TXT o DOCX según sus datos XML de origen. Estoy usando la plantilla mencionada a continuación que se crea de acuerdo con los datos XML de los administradores mencionados anteriormente. Esto hará que el generador de informes itere sobre los Gerentes y sus respectivos Clientes. Después de completar la plantilla, casi ha terminado. Puede utilizar el siguiente código para la generación de su informe.
<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>
C# Pasos para generar un informe en PDF a partir de XML
Los siguientes pasos le permiten automatizar la generación de informes en PDF a partir de sus datos XML de acuerdo con su plantilla definida.
- Definir archivo de datos XML, archivo de plantilla de texto y archivos de informe de salida PDF.
- Crear una instancia de XMLDataSoure con un archivo de datos XML.
- Crear DataSourceInfo con una fuente de datos XML definida.
- Llame al método AssembleDocument para generar el informe en PDF.
El siguiente código implementa los pasos anteriores y genera un PDF a partir de la fuente de datos XML mediante C#.
// Genere un informe en PDF a partir de datos XML usando una plantilla TXT en CSharp
// Defina la fuente de datos, la plantilla y los archivos de informe de salida.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-pdf-report.pdf";
// Cargar fuente de datos XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Ensamblar documento para generar PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));
Genere un informe de MS Word a partir de datos XML en C#
Del mismo modo, también puede crear el informe en formato MS Word DOC/DOCX utilizando los mismos datos XML. No habrá ninguna diferencia en el código del que discutimos anteriormente, excepto que debe cambiar el nombre del archivo de salida.
- Cargue el archivo de datos XML.
- Definición de la plantilla en formato TXT o DOCX.
- Establezca el formato del documento de informe de salida como DOCX.
- Proporcione el archivo de datos XML, la plantilla y la ruta del archivo de salida a DocumentAssembler para convertir el XML a DOCX.
El siguiente código convierte el XML y genera el archivo DOCX usando la plantilla definida usando C#.
// Genere un informe de MS Word a partir de datos XML utilizando una plantilla de texto en CSharp
// Defina la fuente de datos, la plantilla y los archivos de informe de salida.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-word-report.docx";
// Cargar fuente de datos XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Ensamblar documento para generar informe de Word
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));
Obtenga una licencia de API gratuita
Puede obtener una licencia temporal gratuita para utilizar la API sin las limitaciones de evaluación.
Conclusión
En resumen, ha aprendido a convertir los datos XML a formato PDF como un informe usando C# con la aplicación .NET. Además, discutimos la generación de informes en formato DOC/DOCX desde el mismo XML utilizando la plantilla. Después de leer esta serie de publicaciones de generación de informes; Genere informes en PDF y MS Word desde JSON, CSV, XML, puede desarrollar su propia aplicación .NET de generación de informes.
Para obtener más información sobre GroupDocs.Assembly, opciones y ejemplos, visite documentación y el repositorio GitHub. Para más consultas, contáctenos a través del foro.