Os arquivos CSV ([Comma Separated Values][3] são amplamente usados para troca de dados entre aplicativos. Quando você deseja que esses dados sejam traduzidos em informações apresentáveis e significativas, você precisa convertê-los em algum outro formato. Em uma de nossas postagens, vimos [como converter dados CSV em relatórios usando Java][4] Este artigo o guiará para converter dados CSV em relatórios PDF e MS Word DOC/DOCX usando C# usando um modelo simples.

Os seguintes tópicos são abordados abaixo:

  • [API .NET de geração de relatórios][5]
  • [Gerar relatório PDF a partir de dados CSV][6]
  • [Gerar relatório do MS Word a partir de dados CSV][7]

API .NET de geração de relatórios

[GroupDocs.Assembly][8] fornece a API de relatórios .NET para automatizar a geração de relatórios. Neste artigo, usei este [GroupDocs.Assembly for .NET][9] para gerar relatórios dos dados CSV selecionados e um modelo de formato TXT. Ele também suporta várias fontes de dados como JSON, XML e também de arquivos MS Word, Excel e PowerPoint como arquivos de dados.

Você pode baixar o instalador DLLs ou MSI da [seção de downloads][10] ou instalar a API em seu aplicativo .NET via [NuGet][11].

PM> Install-Package GroupDocs.Assembly

Gerar relatório PDF a partir de dados CSV em C#

Vamos começar transformando os dados separados por vírgulas em um PDF apresentável. As etapas a seguir irão guiá-lo para converter os dados CSV em um relatório PDF formatado.

  • Carregar fonte de dados CSV.
  • Definir modelo de acordo com os dados CSV.
  • Fornecer fonte de dados CSV e modelo para método simples para gerar relatório PDF.
Relatório CSV para PDF em C#

Dados CSV

Para obter o relatório em PDF, usarei os seguintes dados CSV de amostra de diferentes indivíduos, juntamente com seus respectivos dados de idade e data de nascimento.

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

O próximo passo seria definir o template no formato TXT ou DOCX. A seguir está o modelo que é usado neste exemplo e permite iterar a lista de pessoas com seus detalhes.

<<foreach \[in persons\]>>Name: <<\[Name\]>>, Age: <<\[Age\]>>, Date of Birth: <<\[Birth\]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<\[persons.Average(p => p.Age)\]>>

Etapas para gerar relatório PDF de CSV em C#

As etapas a seguir orientam sobre como converter os dados CSV em um relatório PDF de acordo com o modelo definido usando C# com a API de relatórios .NET.

  • Defina o arquivo de dados CSV, o arquivo de modelo e os caminhos do arquivo de saída PDF.
  • Instancie [CsvDataSoure][12] com arquivo de dados CSV e opções de carregamento.
  • Crie [DataSourceInfo][13] com a fonte de dados definida.
  • Usando o [DocumentAssembler][14], chame o método [AssembleDocument][15] com arquivo de modelo definido, arquivo de saída e DataSourceInfo para obter o relatório PDF como saída.

O código a seguir mostra como converter dados CSV em relatório PDF em C#.

// Gerar relatório PDF a partir de dados CSV usando o modelo TXT em C# com API GroupDocs.Assembly
// Defina a fonte de dados, o modelo e os arquivos de relatório de saída.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.pdf";

// Carregar fonte de dados CSV
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));

// Gerar relatório em formato PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));

Gerar relatório do MS Word a partir de dados CSV em C

Se você quiser qualquer edição manual no relatório gerado automaticamente, também poderá obter a saída como um documento do MS Word. O processo será muito semelhante à geração do relatório PDF acima. As etapas a seguir orientarão a geração do relatório DOC/DOCX a partir dos dados CSV:

  • Carregue os dados CSV do arquivo.
  • Definindo o template em formato TXT ou DOCX.
  • Defina o formato do documento do relatório de saída como DOC/DOCX.
  • Chame o método [AssembleDocument][16] para gerar o relatório MS Word DOCX a partir dos dados CSV.

O código a seguir mostra como converter dados CSV em um relatório DOCX usando C#.

// Gerar relatório DOCX do Word a partir de dados CSV usando o modelo TXT em C# com API GroupDocs.Assembly
// Defina a fonte de dados, o modelo e os arquivos de relatório de saída.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.docx";

// Carregar fonte de dados CSV
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));

// Gerar Relatório no formato DOCX
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));

Obtenha uma licença de API gratuita

Você pode [obter uma licença temporária gratuita][17] para usar a API sem as limitações de avaliação.

Conclusão

Para concluir, você aprendeu a converter os dados CSV em relatórios PDF e MS Word usando C#. Agora você deve estar confiante em construir seu próprio aplicativo gerador de relatórios .NET convertendo dados CSV em formato PDF. Da mesma forma, você também pode gerar relatórios usando outras fontes de dados, como JSON e XML.

Para saber mais sobre a API, você pode visitar [documentation][18] e o repositório [GitHub][19]. Em caso de dúvidas e ambiguidades, entre em contato com o suporte gratuito no [fórum][20].

Veja também

  • [Gerar relatórios de dados JSON usando C#][21]
  • [Gerar relatórios de dados CSV usando Java][22]

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