Permite criar relatórios em html, baseado em view models. Faz a leitura das propriedades dos objetos e monta automaticamente as colunas. Também permite adicionar agrupamentos e totalizadores.
O projeto ainda está em desenvolvimento e as próximas atualizações serão voltadas nas seguintes tarefas:
- Criar totalizadores.
- Criar agrupamentos e seus totalizadores.
- Permitir customizar as colunas exibidas na tabela.
- Permitir customizar as fontes e estilos dos textos global.
- Selecionar o alinhamento do campo.
- Permitir customizar a ordem das colunas.
- Permitir customizar a fonte dos textos para filtros, tabelas, totais (nome, tamanho, estilo) individualmente.
Antes de começar, verifique se você atendeu aos seguintes requisitos:
- Utilize .net core 2.1 ou superior
PM> Install-Package RelatorioVM
Para usar RelatorioVM, siga estas etapas:
Inicialize no Startup.cs
services.UtilizarRelatorioVM();Receba o construtor do relatório no controlador
public class HomeController : Controller
{
private IRelatorioVM _relatorioVM;
public HomeController(IRelatorioVM relatorioVM)
{
_relatorioVM = relatorioVM;
}
}Crie uma view model para informar ao construtor do relatório qual a estrutura que você quer imprimir
public class ExemploSimplesItemViewModel
{
[DisplayName("Filial")]
public int FilialCodigo { get; set; }
[DisplayName("Pessoa código")]
public int PessoaCodigo { get; set; }
public PessoaViewModel Pessoa { get; set; }
public DateTime Data { get; set; }
public decimal Valor { get; set; }
}Popule uma lista da sua view model, com os dados que deseja imprimir
var itens = new List<ExemploSimplesItemViewModel>(){
...
};Utilize o construtor para obter o html, passando a sua lista como conteúdo
relatorioConstrutor
.AdicionarTabela(itens)
.Titulo("Teste de relatório")
.Construir()
.GerarHtml();Tambem é possível fazer agrupamento e totalização de valores
relatorioConstrutor
.AdicionarTabela(itens, tabela => {
tabela
.Agrupar(agrupar => agrupar.Coluna(x => x.FilialCodigo))
.Totalizar(totalizar => totalizar.Coluna(x => x.Valor, x => x.Valor));
})
.Titulo("Teste de relatório")
.Construir()
.GerarHtml();📘 Mais detalhes na Wiki
Agradecemos às seguintes pessoas que contribuíram para este projeto:
|
Marciel Grützmann |
Patrick J. M. De Bastiani |

