I file CSV ([Comma Separated Values][3] sono ampiamente utilizzati per lo scambio di dati tra le applicazioni. Quando vuoi che questi dati siano tradotti in informazioni presentabili e significative, devi convertirli in un altro formato. In uno dei nostri post, abbiamo visto [come convertire i dati CSV nei rapporti usando Java][4]. Questo articolo ti guiderà a convertire i dati CSV in rapporti PDF e MS Word DOC/DOCX usando C# usando un semplice modello.
Di seguito vengono trattati i seguenti argomenti:
- [Generazione report .NET API][5]
- [Genera rapporto PDF da dati CSV][6]
- [Genera rapporto MS Word dai dati CSV][7]
API .NET per la generazione di report
[GroupDocs.Assembly][8] fornisce l’API di reporting .NET per automatizzare la generazione di report. In questo articolo, ho utilizzato questo [GroupDocs.Assembly for .NET][9] per generare report dai dati CSV selezionati e un modello di formato TXT. Supporta anche più origini dati come JSON, XML e anche da file MS Word, Excel e PowerPoint come file di dati.
Puoi scaricare le DLL o il programma di installazione MSI dalla [sezione download][10] o installare l’API nella tua applicazione .NET tramite [NuGet][11].
PM> Install-Package GroupDocs.Assembly
Genera report PDF da dati CSV in C#
Iniziamo trasformando i dati separati da virgole in un PDF presentabile. I seguenti passaggi ti guideranno a convertire i dati CSV in un rapporto PDF formattato.
- Carica l’origine dati CSV.
- Definisci il modello in base ai dati CSV.
- Fornisci l’origine dati CSV e il modello per un metodo semplice per generare report PDF.
Dati CSV
Per ottenere il rapporto PDF, utilizzerò i seguenti dati CSV di esempio di diversi individui insieme ai rispettivi dati di età e data di nascita.
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
Modello
Il passo successivo sarebbe definire il modello in formato TXT o DOCX. Quello che segue è il modello utilizzato in questo esempio e consente di iterare l’elenco delle persone con i loro dettagli.
<<foreach \[in persons\]>>Name: <<\[Name\]>>, Age: <<\[Age\]>>, Date of Birth: <<\[Birth\]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<\[persons.Average(p => p.Age)\]>>
Passaggi per generare report PDF da CSV in C#
I passaggi seguenti guidano alla conversione dei dati CSV in un report PDF in base al modello definito usando C# con l’API .NET Reporting.
- Definisci il file di dati CSV, il file modello e i percorsi del file di output PDF.
- Istanziare [CsvDataSoure][12] con file di dati CSV e opzioni di caricamento.
- Crea [DataSourceInfo][13] con l’origine dati definita.
- Utilizzando [DocumentAssembler][14], chiamare il metodo [AssembleDocument][15] con file modello, file di output e DataSourceInfo definiti per ottenere il report PDF come output.
Il codice seguente mostra come convertire i dati CSV in report PDF in C#.
// Genera report PDF da dati CSV utilizzando il modello TXT in C# con l'API GroupDocs.Assembly
// Definire l'origine dati, il modello e i file di report di output.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.pdf";
// Carica origine dati CSV
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));
// Genera report in formato PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));
Genera report MS Word dai dati CSV in C#
Se desideri apportare modifiche manuali al rapporto generato automaticamente, puoi anche ottenere l’output come documento MS Word. Il processo sarà molto simile alla generazione del rapporto PDF di cui sopra. I seguenti passaggi guideranno per generare il report DOC/DOCX dai dati CSV:
- Carica i dati CSV dal file.
- Definizione del modello in formato TXT o DOCX.
- Impostare il formato del documento del rapporto di output come DOC/DOCX.
- Chiama il metodo [AssembleDocument][16] per generare il report MS Word DOCX dai dati CSV.
Il codice seguente mostra come convertire i dati CSV in un report DOCX usando C#.
// Genera report Word DOCX da dati CSV utilizzando il modello TXT in C# con l'API GroupDocs.Assembly
// Definire l'origine dati, il modello e i file di report di output.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.docx";
// Carica origine dati CSV
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));
// Genera report in formato DOCX
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));
Ottieni una licenza API gratuita
Puoi [ottenere una licenza temporanea gratuita][17] per utilizzare l’API senza i limiti di valutazione.
Conclusione
Per concludere, hai imparato a convertire i dati CSV in report PDF e MS Word usando C#. Ora devi essere sicuro di creare la tua applicazione generatore di report .NET convertendo i dati CSV in formato PDF. Allo stesso modo, puoi anche generare rapporti utilizzando altre origini dati come JSON e XML.
Per ulteriori informazioni sull’API, puoi visitare la [documentazione][18] e il repository [GitHub][19]. In caso di ulteriori domande e ambiguità, contatta il supporto gratuito sul [forum][20].
Guarda anche
- [Genera rapporti dai dati JSON utilizzando C#][21]
- [Genera rapporti da dati CSV utilizzando Java][22]
[1]: https://docs.fileformat.com/spreadsheet/csv/) [2]: https://blog.groupdocs.com/it/assembly/generate-reports-from-csv-data-in-java/ [3]: https://docs.fileformat.com/spreadsheet/csv/) [4]: https://blog.groupdocs.com/it/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/it/assembly/generate-reports-from-json-data-in-csharp/ [22]: https://blog.groupdocs.com/it/assembly/generate-reports-from-csv-data-in-java/