Ola pessoALL,

De forma recorrente todos os projetos que passei sempre tem uma mesma dificuldade: EXPORTAR DADOS ou gerar relatórios.
As melhores soluções do mercado infelizmente são caras e muitas das empresas não conseguem (ou não querem) pagar por uma licença.
Pensando nisso decidi criar um repositório com alguns exemplos e técnicas de como podemos exportar dados e gerar relatórios com pacotes open-source.

Todos os exemplos estão no repositório: https://github.com/rsantosdev/aspnetcore-report-export-samples (aproveita e deixa a estrelinha). Comentários e PRs são muito bem vindos.

Csv

CSVs são a maneira mais fácil de exportarmos dados e disponibilizarmos para nossos clientes consumirem, uma vez que podem carregar os dados no excel e fazer todo o tipo de análise ou usar alguma ferramenta para importar os dados.
No repositório deixei 2 exemplos de como podemos gerar CSVs.

  • Exemplo 1 - Acessando a rota /orders/export/csv temos um csv gerado usando apenas C#
CSV gerado usando apenas C#
  • Exemplo 2 - Acessando a rota /orders/export/csv-helper temos ums csv gerado usando um pacote chamado CsvHelper que contém alguns métodos que podem auxiliar no dia a dia.
Csv gerado usando o pacote CsvHelper

Excel

Quando precisamos de uma melhor apresentação dos dados, através de agregadores, filtros ou até mesmo uma formatação visual melhor, o próximo caminho seria trabalhar com o Excel (ou qualquer editor de planilhas que suporte o formato OpenXml). O formato que o excel trabalha é o OpenXml que nos permite criar planihas através do C# do mesmo modo que no Excel.
Deixei dois exemplos no repositório:

  • Exemplo 1 - Acessando a rota /orders/export/excel temos um arquivo excel que inclui uma fórmula para mostrar a somatória dos pedidos.
Gerando excel usando C#
  • Exemplo 2 - Acessando a rota /orders/export/excel-table temos um arquivo excel que inclui uma tabela pronta para uso, incluindo cabeçalhos e totalizadores.
Gerando tabelas no Excel

Por enquanto é só pessoALL.
Tenho mais alguns exemplos para contruir no repositório como:

  • Pivot Tables no Excel
  • Gerar excel baseado em template (o que possibilitaria relatórios altamente customizáveis)
  • Usar a versão gratuita do gerador de relatórios FastReport

Críticas e sugestões são muito bem vindas.
Deixe nos comentários o que voce acha da solução e se ela te ajudaria no dia a dia.

[]s rsantosdev!