Los archivos CSV ([Valores separados por comas][3] se usan ampliamente para intercambiar datos entre aplicaciones. Cuando desee que estos datos se traduzcan en información presentable y significativa, debe convertirlos a algún otro formato. En una de nuestras publicaciones, hemos visto [cómo convertir datos CSV en informes usando Java][4].Este artículo lo guiará para convertir datos CSV en informes PDF y MS Word DOC/DOCX usando C# usando una plantilla simple.
Los siguientes temas se tratan a continuación:
- [API de .NET de generación de informes][5]
- [Generar informe en PDF a partir de datos CSV][6]
- [Generar informe de MS Word a partir de datos CSV][7]
API de .NET de generación de informes
[GroupDocs.Assembly][8] proporciona la API de informes de .NET para automatizar la generación de informes. En este artículo, he usado este [GroupDocs.Assembly for .NET][9] para generar informes a partir de los datos CSV seleccionados y una plantilla de formato TXT. También admite múltiples fuentes de datos como JSON, XML y también archivos de MS Word, Excel y PowerPoint como archivos de datos.
Puede descargar el instalador DLL o MSI desde la [sección de descargas][10] o instalar la API en su aplicación .NET a través de [NuGet][11].
PM> Install-Package GroupDocs.Assembly
Generar informe en PDF a partir de datos CSV en C#
Comencemos transformando los datos separados por comas en un PDF presentable. Los siguientes pasos lo guiarán para convertir los datos CSV en un informe PDF formateado.
- Cargar fuente de datos CSV.
- Definir plantilla según los datos CSV.
- Proporcione una fuente de datos CSV y una plantilla a un método simple para generar un informe en PDF.
Datos CSV
Para obtener el informe en PDF, usaré los siguientes datos CSV de muestra de diferentes personas junto con sus respectivos datos de edad y fecha de nacimiento.
Name,Age,Birth
John Doe,32,4/1/1989 16:00
Jane Doe,29,1/31/1992 7:00
John Smith,53,3/8/1968 13:00
Modelo
El siguiente paso sería definir la plantilla en formato TXT o DOCX. La siguiente es la plantilla que se utiliza en este ejemplo y permite iterar la lista de personas con sus detalles.
<<foreach \[in persons\]>>Name: <<\[Name\]>>, Age: <<\[Age\]>>, Date of Birth: <<\[Birth\]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<\[persons.Average(p => p.Age)\]>>
Pasos para generar un informe PDF desde CSV en C#
Los siguientes pasos guían sobre cómo convertir los datos CSV en un informe PDF de acuerdo con la plantilla definida usando C# con la API de informes de .NET.
- Defina el archivo de datos CSV, el archivo de plantilla y las rutas del archivo de salida PDF.
- Instanciar [CsvDataSoure][12] con archivo de datos CSV y opciones de carga.
- Crear [DataSourceInfo][13] con la fuente de datos definida.
- Con [DocumentAssembler][14], llame al método [AssembleDocument][15] con el archivo de plantilla definido, el archivo de salida y DataSourceInfo para obtener el informe PDF como salida.
El siguiente código muestra cómo convertir datos CSV a informes PDF en C#.
// Genere un informe en PDF a partir de datos CSV usando una plantilla TXT en C# con GroupDocs.Assembly API
// Defina la fuente de datos, la plantilla y los archivos de informe de salida.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.pdf";
// Cargar fuente de datos CSV
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));
// Generar Informe en formato PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));
Genere un informe de MS Word a partir de datos CSV en C#
Si desea cualquier edición manual en el informe generado automáticamente, también puede obtener el resultado como un documento de MS Word. El proceso será muy similar a la generación de informes PDF anterior. Los siguientes pasos guiarán para generar el informe DOC/DOCX a partir de los datos CSV:
- Cargue los datos CSV del archivo.
- Definición de la plantilla en formato TXT o DOCX.
- Establezca el formato del documento de informe de salida como DOC/DOCX.
- Llame al método [AssembleDocument][16] para generar un informe DOCX de MS Word a partir de los datos CSV.
El siguiente código muestra cómo convertir datos CSV en un informe DOCX usando C#.
// Genere un informe DOCX de Word a partir de datos CSV usando una plantilla TXT en C# con GroupDocs.Assembly API
// Defina la fuente de datos, la plantilla y los archivos de informe de salida.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.docx";
// Cargar fuente de datos CSV
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));
// Generar Informe en formato DOCX
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));
Obtenga una licencia de API gratuita
Puede [obtener una licencia temporal gratuita][17] para utilizar la API sin las limitaciones de evaluación.
Conclusión
Para concluir, ha aprendido a convertir los datos CSV en informes PDF y MS Word utilizando C#. Ahora debe estar seguro de crear su propia aplicación generadora de informes .NET convirtiendo los datos CSV en formato PDF. Del mismo modo, también puede generar informes utilizando otras fuentes de datos como JSON y XML.
Para obtener más información sobre la API, puede visitar [documentación][18] y el repositorio [GitHub][19]. En caso de más consultas y ambigüedades, comuníquese con el soporte gratuito en el [foro][20].
Ver también
- [Generar informes a partir de datos JSON usando C#][21]
- [Generar informes a partir de datos CSV utilizando Java][22]
[1]: https://docs.fileformat.com/spreadsheet/csv/) [2]: https://blog.groupdocs.com/es/assembly/generate-reports-from-csv-data-in-java/ [3]: https://docs.fileformat.com/spreadsheet/csv/) [4]: https://blog.groupdocs.com/es/assembly/generate-reports-from-csv-data-in-java/ [5]: #report-generator-dotnet-api [6]: #csv-to-pdf-report-csharp [7]: #csv-to-docx-report-java [8]: https://products.groupdocs.com/assembly/java [9]: https://products.groupdocs.com/assembly/net/ [10]: https://downloads.groupdocs.com/assembly/net [11]: https://www.nuget.org/packages/groupdocs.assembly [12]: https://apireference.groupdocs.com/net/assembly/groupdocs.assembly.data/csvdatasource [13]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/datasourceinfo [14]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/documentassembler [15]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/documentassembler/methods/assembledocument/index [16]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/documentassembler/methods/assembledocument/index [17]: https://purchase.groupdocs.com/temporary-license [18]: https://docs.groupdocs.com/assembly/net/ [19]: https://github.com/groupdocs-assembly [20]: https://forum.groupdocs.com/c/assembly [21]: https://blog.groupdocs.com/es/assembly/generate-reports-from-json-data-in-csharp/ [22]: https://blog.groupdocs.com/es/assembly/generate-reports-from-csv-data-in-java/