post icon

Exportar directamente a PDF los reportes de Crystal Reports en ASP.Net

Ayer veíamos como crear reportes de manera sencilla con Crystal Reports en ASP.Net, el mismo era visualizado directamente en el report viewer, pero para algunos es mucho más presentable mostrarlos directamente como ficheros .pdf.

Es lo que veremos en ésta entrega, ya simplemente tomaremos el código del anterior ejemplo y anexaremos un par de líneas más, para ello agregaremos un uso más del espacio de nombres System.IO el cual nos permitirá crear un un MemoryStream con el contenido del reporte y gracias a la librería del Crystal Report exportarlo al tan extenso formato .pdf.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using CrystalDecisions.CrystalReports.Engine;
 
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var conn = new SqlConnection("Data Source=NABUCODONOSOR;Initial Catalog=AdventureWorks;User Id=usuario;Password=********");
        try
        {
            using (var comando = new SqlCommand("SELECT * FROM Purchasing.Vendor", conn))
            {
                using (var adaptador = new SqlDataAdapter(comando))
                {
                    var ds = new DataSet();
                    adaptador.Fill(ds);
 
                    var reporte = new ReportDocument();
                    reporte.Load(Server.MapPath("Reportes/Proveedores.rpt"));
                    reporte.SetDataSource(ds.Tables[0]);
                    reporte.DataSourceConnections[0].SetConnection("NABUCODONOSOR", "AdventureWorks", "usuario", "********");
 
                    VisorCR.ReportSource = reporte;
 
		    // bloque de código donde exportamos el reporte a pdf directamente
		    using (var mStream = (MemoryStream) reporte.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat))
		    {
			Response.Clear();
			Response.Buffer = true;
			Response.ContentType = "application/pdf";
			Response.BinaryWrite(mStream.ToArray());
		    }
		    Response.End();
                } // end using adaptador
            } // end using comando
        } // end try
        catch (Exception ex)
        {
            lblMensaje.Text = ex.Message;
        }
        finally
        {
            if (conn.State != ConnectionState.Closed)
                conn.Close();
            conn.Dispose();
        }
    }
}

Comentarios desde Facebook:

  1. avatar
    Josue AVB PERU Mozilla Firefox Windows
    20 junio 2012 at 12:56 #

    Se Puede hacer lo mismo pero para escritorio en c sharp?

  2. avatar
    Juan Alberto GUATEMALA Google Chrome Windows
    15 febrero 2012 at 01:58 #

    Excelente mi amigo. Muchas gracias. Oye en el artículo anterior se muestra la vista por defecto de un reporte en crystal.

    Pero el botón de imprimir no funciona, sabes como se hace.

    Muchas gracias. Muy agradecido por tus tutoriales.

    Saludos!

  3. avatar
    Tomas Rojas VENEZUELA Internet Explorer Windows
    25 mayo 2011 at 13:33 #

    Hola muchas gracias amigo, por favor me podria indicar que contiene o como debo construir VisorCR?

    • avatar
      GeekZero PARAGUAY Google Chrome Windows
      25 mayo 2011 at 13:58 #

      Es un CrystalReportViewer agregado en modo de diseño ya..

  4. avatar
    alberto MEXICO Mozilla Firefox Windows
    4 marzo 2011 at 14:54 #

    buen post me sirvio mucho.

Trackbacks/Pingbacks

  1. fotos de bucetas - 13 noviembre 2016

    Dreary Day

    It was a dreary day here yesterday, so I just took to messing around on the internet and realized

  2. Merchant Cash Advance GERMANY - 19 julio 2016

    Looking around

    I like to surf in various places on the web, regularly I will just go to Stumble Upon and follow thru

  3. Tweets that mention Exportar directamente a PDF los reportes de Crystal Reports en ASP.Net | DevTroce.com -- Topsy.com UNITED STATES - 3 noviembre 2010

    […] This post was mentioned on Twitter by Ronald Riveros, DevTroce. DevTroce said: Exportar directamente a PDF los #reportes de Crystal Reports en ASP.Net: Ayer veíamos como… http://goo.gl/fb/Qbbri […]

Responder