16 12 2016
Apresentação DevWeek 2016 – Ferramentas gratuitas para geração de relatórios no .NET
Na noite de ontem eu participei do DevWeek 2016, evento 100% online e gratuito que está acontecendo durante toda essa semana, organizado pelo pessoal do Canal .NET.
A minha apresentação foi sobre ferramentas gratuitas para geração de relatórios no .NET. Apresentei o básico das ferramentas Crystal Reports e Report Viewer. Confira a gravação abaixo:
Links mencionados
Os principais links que eu mencionei durante a apresentação foram:
Suporte ao Crystal Reports no Visual Studio 2013
Aprenda a instalar o Crystal Reports no Visual Studio. Apesar do artigo ser voltado para o Visual Studio 2013, o processo é idêntico para o Visual Studio 2015, a única diferença é a versão que você terá que instalar.
Cadê o Report Viewer no Visual Studio 2015?
A Microsoft decidiu tirar o Report Viewer da instalação típica do Visual Studio a partir da versão 2015. Nesse artigo, veja como ativá-lo durante a instalação ou até mesmo se você já tiver instalado o Visual Studio sem ele.
Resolvendo o erro do Crystal Reports FileNotFoundException crdb_adoplus.dll
Existe um problema de compatibilidade do Crystal Reports a partir do .NET 4.0 que faz com que esse erro aconteça ao executar a aplicação. Esse erro pode ser facilmente corrigido com um ajuste no arquivo app.config. Nesse artigo eu mostro como fazer esse ajuste.
Qual é melhor – Crystal Reports ou Report Viewer?
Uma vez apresentadas as duas ferramentas, a dúvida que fica é: qual é o melhor? Qual eu devo utilizar em cada situação? Essas são as dúvidas que eu tento responder nesse artigo / vídeo.
Perguntas
Essas foram as perguntas que foram feitas no final da apresentação:
[Alexandre Rodrigues da Silva] Como saber como o relatório ficará em tempo de execução?
No Crystal Reports é fácil, uma vez que nós temos a aba “Preview” que mostra exatamente como o relatório ficará em tempo de execução. No Report Viewer, se estivermos trabalhando com relatórios server side (publicados no SQL Server Reporting Services), também temos essa aba “Preview” que mostra o resultado do relatório. Porém, para relatórios locais do Report Viewer, infelizmente não temos uma maneira de visualizar o resultado do relatório. A única opção é criarmos um formulário de testes e executar a aplicação.
[Vinicius Veras] Como gerar um relatório com 2 páginas / 2 vias?
Esse é um tema que eu quero demonstrar no ano que vem. Infelizmente, que eu saiba, o único jeito é no modo “gambiarra“. Basicamente você pode criar uma coluna virtual no seu Data Source (por exemplo “Via“). Aí você duplica os dados do DataSet / coleção, uma vez utilizando “Via” = 1 e outra vez utilizando “Via” = 2. Por fim, você agrupa o relatório por essa coluna e adiciona quebra de página entre as instâncias do grupo.
[Vinicius Takeushi] Só funciona com SQL Server?
Não, tanto o Crystal Reports quanto o Report Viewer funcionam com qualquer banco. Como você manda um DataSet ou coleção de objetos para o relatório, não interessa de qual banco as informações estão vindo. Inclusive na demonstração eu não utilizei nenhum banco (fiz com dados aleatórios em memória).
[Paulo Dias] O que o Crystal Reports tem que o Report Viewer não tem (e vice-versa)?
Veja o vídeo que linkei acima para um comparativo entre as duas ferramentas.
[Pietro NET] Qual tem melhor performance?
Sinceramente, não sei. Essa é uma análise que eu também quero fazer para publicar aqui no site. Eu particularmente acho o Report Viewer mais rápido na hora de carregar o relatório. O Crystal Reports tem um “lag” bem grande na hora do carregamento, principalmente a primeira vez que você está exibindo o relatório depois de reiniciar o computador. Mas, eu sinceramente não sei como as duas ferramentas se comportariam em um cenário onde o relatório seja extremamente complexo ou onde o relatório esteja sendo alimentado com muitos registros.
Baixe o projeto e o PPT
Como prometido, você pode baixar o projeto aqui (com o código tanto em C# quanto em VB.NET) e o PPT aqui.
Obrigado!
Antes de me despedir, quero agradecer imensamente o pessoal do Canal .NET pela oportunidade de ter participado no evento e também todo mundo que acompanhou o evento, tanto ao vivo quanto a gravação. Qualquer dúvida é só deixar aí nos comentários ou entrar em contato por e-mail. E aproveita para se inscrever na minha newsletter utilizando o formulário abaixo!
Até a próxima!
André Lima
Serializando e desserializando JSON com C# e VB.NET Fazendo o download e upload de arquivos em um servidor FTP com C# e VB.NET
Cordial saludo André,
No había podido ver el vídeo antes, muy contento por tu participación en el canal y como siempre la información de gran ayuda y calidad.
Saludos desde Colombia un abrazo.
Olá novamente Edward! Muito obrigado pelo comentário! Fico feliz que tenha gostado da apresentação no evento do Canal .NET..
Um grande abraço!
André Lima