Categorias

Gerando Relatório em PDF com Crystal Reports

Nesse código mostro de forma simples como gerar um relatório em pdf utilizando CrystalReports.

Primeiramente você deve criar um DataSet Tipado e colocar a sua consulta para gerar os campos.
Após feito isso você vai entrar no relatório e arrastar do canto esquerdo as colunas que você vai utilizar para dentro do relatório.

Dica : Para ganhar performance utilize o dataSet tipado apenas para definir os campos, utilize datasets simples com filtros definidos nas querys.

MemoryStream memoria = new MemoryStream();
            DataSet ds = new DataSet();
            
            //Função que cria o dataset utilizado para consulta do Relatório.
            ds = CriarDataSet();
            CrystalReport1 crt = new CrystalReport1();

            crt.Load("CrystalReport1.rpt");//Nome do arquivo de relatorio do CrystalReports
            crt.SetDataSource(ds.Tables[0]);
            memoria = (MemoryStream)crt.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
            crt.Close();
            Response.ClearContent();
            Response.ClearHeaders();
            Response.ContentType = "application/pdf";
            Response.AddHeader("Content-Disposition", "inline; filename=CrystalReport1.pdf");
            Response.BinaryWrite(memoria.ToArray());
            Response.Flush();
            memoria.Close();
            Response.End();