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(); } } } |








en
en
en
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!
Hola muchas gracias amigo, por favor me podria indicar que contiene o como debo construir VisorCR?
Es un CrystalReportViewer agregado en modo de diseño ya..
buen post me sirvio mucho.