Como Exportar Crystal Reports a Excel, Word, Rich Text, PDF ó HTML
Posted
by jaullo
on Geeks with Blogs
See other posts from Geeks with Blogs
or by jaullo
Published on Mon, 17 May 2010 16:21:31 GMT
Indexed on
2010/05/17
17:31 UTC
Read the original article
Hit count: 1155
Cuando trabajamos con reportes siempre requerimos la funcionalidad de exportación. En crystal reports para asp.net, realizar esta tarea es sumamente sencillo. Sin embargo la pregunta más grande que salta siempre, es como realizarlo utilizando código Behind.
Para poder acceder a las librerias de crystal y sus componentes, primero debemos importar los espacios de nombres:
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
CrystalDecisions.CrystalReports.Engine, nos servirá para poder manejar nuestro reportDocument y CrystalDecisions.Shared, será el medio que utilicemos para la exportación.
Así que, veamos como podemos exportar nuestro informe sin tener que enviarlo a la impresora, recordemos que por defecto crystal reports ya tiene la opcion de exportar a PDF sin embargo debemos hacerlo tal como si fueramos a imprimir y que es lo que evitaremos acá.
Colocamos un botón en nuestra pagina asp
<asp:Button ID="btntopdf" runat="server" Text="Exportar a PDF" />
Y en nuestro boton deberemos ejecutar la siguiente rutina:
Protected Sub btntodpf_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btntopdf.Click
'Cargar reporte. Enlazando a la fuente de datos.
LoadReporte()
'Mas adelante veremos que estas lineas las podemos obviar
Response.Buffer = False
Response.Clear() 'ClearContent, ClearHeaders
reporteDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "NombreArchivo")
End Sub
LoadReport, es el encargado de llenar nuestro crystal con la fuente de datos.
Está fue la primer forma de exporta nuestro crystal reports, pero no es la única, así que vamos a ver otra forma en la cual utilizaremos el metodo
ExportToHttpResponsePara este metodo, nuestro código en el botón cambia relativamente, pero antes de ello, daremos un repaso a los metodos utilizados.
Nuestro primer parametro FormatType es un valor de tipo ExportFormatType, que puede corresponder a cualquiera de los metodos que enumeramos a continuación:
CrystalReport: El formato al cual se exporta es de Tipo CrystalReport.
Excel: El formato al cual se exporta es de tipo Excel
ExcelRecord: El formato al cual se exporta es de Tipo Excel Record.
NoFormat: No se ha especificado un formato de exportación.
PortableDocFormat: El formato al cual se exporta es de Tipo PDF.
No voy a enumerar todos, pues me imagino que ya sabrán la idea de cada uno de los formatos, los numerados arriba son los mas importantes.
Nuestro segundo parametro el objeto response nos permite adozar el archivo.
Y por último, nuestro tercer parametro, definirá si debe ir como un objeto adjunto o no. Si lo colocamos en TRUE, estaremos enviando nuestro archivo como parametro, esto hará que no necesitemos las siguientes líneas de código:
Response.Buffer = False
Response.Clear()
Con esto realizado, ya contamos con la posibilidad de enviar el archivo directamente al cliente.
Ahora si, veamos cuanto se ha reducido nuestro código:
Unicamente nos quedan dos líneas de código en nuestro botón
'Cargar reporte. Enlazando a la fuente de datos.
LoadReport()
reporteDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "NombreArchivo")
Para finalizar, nada mas decir que espero esto les sea de ayuda y por supuesto, que les facilite la vida con el uso de crystal reports.
© Geeks with Blogs or respective owner