Generar informes a partir de datos de Excel en C#

Puede crear fácilmente informes personalizados a partir de tablas de datos de Microsoft Excel. Dichos informes se pueden generar mediante programación mediante el uso de hojas de cálculo de Excel como una tabla de datos. Este artículo se centrará en cómo generar informes a partir de datos de Excel usando C#.

Los siguientes temas se discuten/tratan en este artículo:

API de C# para generar informes

Usaré la API GroupDocs.Assembly para .NET para generar informes a partir de datos de Excel. Le permite crear potentes aplicaciones de generación de informes y automatización de documentos. La API admite la obtención de datos de varias fuentes de datos, como XML, JSON y CSV. Puede generar fácilmente informes en todos los formatos de archivo de uso común, como PDF, HTML y Microsoft Word. Se puede utilizar para desarrollar aplicaciones en cualquier entorno de desarrollo que se dirija a la plataforma .NET.

Puede descargar la DLL de la API o instalarla mediante NuGet.

Install-Package GroupDocs.Assembly

Genere informes a partir de datos de Excel usando C#

Puede generar informes a partir de datos de Excel siguiendo los sencillos pasos que se mencionan a continuación:

  1. Obtener datos de Excel fuente.
  2. Defina plantilla de acuerdo con los datos de Excel.
  3. Proporcione la fuente de datos y la plantilla para código C# simple para la generación de informes

Datos de Excel

Los datos tabulares disponibles en la hoja de cálculo de Excel se pueden utilizar como fuente de datos para generar informes. Usaré los siguientes datos de muestra de Excel para la generación de informes. Estos son los datos del contrato de los clientes con sus respectivos gestores y el precio del contrato acordado.

Fuente de datos de Excel

Fuente de datos de Excel

Modelo

Ahora, defina la siguiente plantilla en el archivo DOCX. Esto permite iterar los datos de los Contratos y sus respectivos gestores con el precio del contrato. Después de eso, puede saltar al código para la generación de informes.

Reportar plantilla

Reportar plantilla

Convertir informe de Excel a Word en C#

Siga los pasos que se mencionan a continuación para automatizar la conversión de datos de Excel al informe DOCX basado en la plantilla.

El siguiente ejemplo de código muestra cómo generar un informe a partir de una fuente de datos de Excel de acuerdo con la plantilla definida mediante C#.

string ExcelDataFile = "Contracts_Data.xlsx";
string strDocumentTemplate = "Template.docx";
string strDocumentReport = "Output.docx";

// Definir tabla de datos desde un archivo de Excel
DocumentTableOptions options = new DocumentTableOptions 
{ 
    FirstRowContainsColumnNames = true 
};
DocumentTable table = new DocumentTable(ExcelDataFile, 0, options);

// Ensamble un documento utilizando la tabla de documentos externa como fuente de datos.
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(strDocumentTemplate, strDocumentReport,
    new DataSourceInfo(table, "contracts"));

El ejemplo de código anterior generará el siguiente informe.

Informe generado

Informe generado

La clase DocumentTableOptions proporciona un conjunto de opciones para controlar la extracción de datos de una tabla de documentos. Aquí, la propiedad FirstRowContainsColumnNames se establece en true.

La clase DocumentTable proporciona acceso a los datos de una sola tabla (u hoja de cálculo) ubicada en un documento externo que se usará al ensamblar un documento.

La clase DocumentAssembler proporciona métodos para generar informes basados en el documento de plantilla con datos.

Obtenga una licencia gratis

Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido a generar informes a partir de datos de Excel usando C#. Puede obtener más información sobre GroupDocs.Assembly para la API de .NET mediante la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también