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.
Report CSV in PDF in C#

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/2021/07/07/generate-reports-from-csv-data-in-java/ [3]: https://docs.fileformat.com/spreadsheet/csv/) [4]: https://blog.groupdocs.com/it/2021/07/07/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/2021/03/20/generate-reports-from-json-data-in-csharp/ [22]: https://blog.groupdocs.com/it/2021/07/07/generate-reports-from-csv-data-in-java/