Blog Recent Posts

This Blog

Syndication

Search

Tags

News

Community

Email Notifications

Archives

Blogs recomendados

Sitios

Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código

Una funcionalidad que siempre es requerida para cualquier tipo de reporte (en cualquier formato) es su exportación a otros formatos. En Crystal Report para ASP.NET 2.0 tenemos metodos ya disponibles para realizar esta tarea. Una de las preguntas desde los grupos de noticias o foros es como realizarlo desde el codebehind.

Primeramente necesitamos importar los espacios de nombre:

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared

El primero para el reportDocument y el segundo para las opciones de exportacion.

Veamos un ejemplo para exportar a PDF desde el codebehind, sin la necesidad de enviar a impresion (ya que por defecto la impresion viene con salida en modo PDF, y la podemos cambiar a modo ActiveX)
Si tenemos un boton:

<asp:Button ID="btnExportarAPDF" runat="server" Text="Exportar a PDF" />

Podemos hacer algo asi:

Protected Sub btnExportarAPDF_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnExportarAPDF.Click

       'Cargar reporte. Enlazando a la fuente de datos.
       ReporteCargar()

       '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

Nota: El metodo ReporteCargar enlaza la fuente de datos al reportDocument que luego lo visualizamos con un ReportViewer, pero en este ejemplo queremos no visualizarlo sino exportarlo

Podemos ver la forma del metodo ExportToHttpResponse

image

 

El primer parametro FormatType que es un valor de ExportFormatType con estos

image

CrystalReport     El formato de exportación del informe es un archivo de Crystal Report.
Excel    El formato de exportación del informe es un archivo de Microsoft Excel.
ExcelRecord   El formato de exportación del informe es un archivo Excel Record.
HTML32     El formato de exportación del informe es un archivo HTML 3.2.
HTML40   El formato de exportación del informe es un archivo HTML 4.0.
NoFormat   No se ha especificado el formato de exportación.
PortableDocFormat     El formato de exportación del informe es un archivo PDF.
RichText     El formato de exportación del informe es un archivo de texto enriquecido.
WordForWindows     El formato de exportación del informe es un archivo de Microsoft Word.

 

Segundo parametro el objeto Response actual (es para "adozarlo").. aqui podemos tener una idea de que dentro del metodo realiza ya los pasos para limpiar la salida de response y adozar el archivo


Tercer parametro, si va o no como un objeto incrustado (inline o attachment) si colocamos True es lo mismo que si estamos limpiando la respuesta y solamente enviando el archivo como parametro esto hara estas lineas innecesarias, ya que el mismo metodo se encargara de realizarlo.

Response.Buffer = False
Response.Clear()
Logrando que al visiante visualice el mensaje de que si desea Abrirlo o Guardarlo

image

 

Nuestro código queda mas simple ;)

Protected Sub btnExportarAPDF_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnExportarAPDF.Click

       'Cargar reporte. Enlazando a la fuente de datos.
       ReporteCargar()

       reporteDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "NombreArchivo")
   
   End Sub

 

Para finalizar podemos decir que este tipo de exportacin tiene un nivel mas general con el metodo .Export del reportDocument que con opciones puede configurarse para la misma tarea, solo que ya tenemos el metodo para enviarlo a la respuesta de la pagina.
Tambien tenemos ExportToDisk (como se imaginaran la misma tarea de exportacion a un archivo fisico), y ExportToStream (a una secuencia de datos en formato especificado). Con este ultimo podemos tambien lograr la salida a response.. pero tendriamos que hacer todos los pasos por nosotros mismos (mas artesanal como siempre digo)

 

Enlaces:

Published 4/11/2007 11:40 por José A. Fernández

Comparte este post:

Comentarios

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, November 5, 2007 4:12 PM

Uno de los mejores articulos de exportacion de crystal..... habia buscado por todos lados ..... ya lo habia solucionado el tema... pero me quedaban muchas cosas dando vuelta.

Pero tengo una duda, yo estoy haciendo reportes masivos, osea le estoy enviando varios parametros al reporte y este me imprime una cantidad considerable facturas, cuando lo visualizo con crystal todo bien pero al agragarle la linea

rpt.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, true, "ExportedReport");

que es la que me lo exporta, este no asume los cambios....??????

Dario Olivares O.

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, November 5, 2007 7:04 PM

Hola Dario

Gracias por el comentario.

Con respecto a lo que comentas "no asume los cambios" que significa? no realiza la consulta?

Tienes que "enlazarlo" al reportDocument en tu caso se llama rpt nuevamente a los datos.

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, January 25, 2008 2:01 AM

Estoy usando visual 2005 y quiero exportar a PDF, pero use las etiquetas inteligentes para hacer todo, osea que no tengo codigo que cargue el reporte en el crystalviewer, como puedo hacer en este caso?

Jorge

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, January 25, 2008 11:28 PM

Hola Jorge

No lo probe pero seguro deberias obtener el reporte para poder exportarlo.

Prueba lo siguiente:

(necesitas estas importaciones de namespaces)

Imports CrystalDecisions.Shared

Imports CrystalDecisions.CrystalReports.Engine

...

(aqui va el codigo)

Dim reporteDoc As ReportDocument = Me.CrystalReportViewer1.ReportSource

       reporteDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "NombreArchivo")

Espero que te sirva

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Wednesday, February 6, 2008 8:41 PM

Jose mucha gracias por tu ayuda, al final lo solucione asi

Me.CrystalReportSource1.ReportDocument.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "Nombrearchivo")

Jorge

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Saturday, February 9, 2008 2:06 AM

Unable to connect: incorrect log on parameters.

Aca el codigo:

CrystalDecisions.Shared.TableLogOnInfo TableLogOnInfo = new CrystalDecisions.Shared.TableLogOnInfo();

CrystalDecisions.Shared.TableLogOnInfos TableLogOnInfos = new CrystalDecisions.Shared.TableLogOnInfos();

CrystalDecisions.Shared.ConnectionInfo ConnectionInfo = new CrystalDecisions.Shared.ConnectionInfo();

ConnectionInfo.DatabaseName = ConfigurationManager.AppSettings["baseDatos"];

ConnectionInfo.ServerName = ConfigurationManager.AppSettings["servidorBD"];

ConnectionInfo.UserID = ConfigurationManager.AppSettings["userID"];

ConnectionInfo.Password = ConfigurationManager.AppSettings["password"];

TableLogOnInfo.ConnectionInfo = ConnectionInfo;

TableLogOnInfos.Add(TableLogOnInfo);

CrystalReportViewer1.LogOnInfo = TableLogOnInfos;

CrystalReportSource1.Report.Parameters[0].DefaultValue = sCveRemesa;

CrystalReportViewer1.RefreshReport();

CrystalReportSource1.ReportDocument.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Response, false, "");

Es en web en c#, alguna observacion?

Cualquier ayuda bienvenida, de antemano, muchas gracias!

Raymundo

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Saturday, February 9, 2008 2:53 AM

Hola Raymundo

El codigo esta bien, solo que parece que la parte de login los parámetros son incorrectos.

Pruebalo con los parametros en "crudo", algo asi:

 ConnectionInfo.DatabaseName = "Northwind"

 ConnectionInfo.ServerName = "Yoda"

 ConnectionInfo.UserID = "sa"

 ConnectionInfo.Password = "sa"

Para corroborar.

Porque no puede "reproducir el mismo error"

Otro tema en tu diseño tienes algo asi no?

<CR:CrystalReportSource ID="CrystalReportSource1" runat="server">

           <Report FileName="rptCategoriasDirectoDB.rpt">

          <Parameters>

     <CR:Parameter Name="@desc"  DefaultValue="c"  />

               </Parameters>

           </Report>

       </CR:CrystalReportSource>

Espero que te sirva, sino comentame como estas obteiendo los datos de la DB entonces puedo reproducir tu ambiente.

Saludos.

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Saturday, February 9, 2008 3:09 AM

Este es el html:

<cr:crystalreportviewer id="CrystalReportViewer1" runat="server" autodatabind="True"

height="1039px" reportsourceid="CrystalReportSource1" width="901px"></cr:crystalreportviewer>

<cr:crystalreportsource id="CrystalReportSource1" runat="server">

<Report FileName="rptRemesaImportacion.rpt">

<Parameters>

<CR:ControlParameter ControlID="" ConvertEmptyStringToNull="False"

Name="cve_remesa" PropertyName="" ReportName="" />

</Parameters>

</Report>

</cr:crystalreportsource>

Los parametros de conexion son correctos, esto debido a que al poner la sentencia para exportar fue cuando me empezo a marcar el error, antes funcionaba correctamente...

CrystalReportSource1.ReportDocument.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Response, false, "");

En fin, el reporte lo diseñec con conexiones directamente a la base de datos, el codigo de parametros de conexion fue para que no me pidiera nuevamente el password de la base en ejecucion.

A resumidas cuentas, mi problema es que ocupo imprimir directamente el reporte a pdf en el navegador sin que me salga la ventana de print options. Espero que me puedan ayudar, muchas gracias por la atencion.

Raymundo

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Saturday, February 9, 2008 4:19 AM

Por fin pude reproducir el error:

Logon failed.

Details: ADO Error Code: 0x

Source: Microsoft OLE DB Provider for SQL Server

Description: Login failed for user 'sa'.

SQL State: 42000

Native Error: Error in File C:\DOCUME~1\JOSEFE~1\LOCALS~1\Temp\rptCategoriasDirectoDB {38C462E2-784F-4709-9FA0-B50FDBE4FF3C}.rpt:

Unable to connect: incorrect log on parameters.

Lo miro por la mañana y veo por donde va la solucion...

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Sunday, February 10, 2008 2:06 AM

Hola nuevamente Raymundo

Lo que hice para solucionar fue colocar la linea que exporta en el evento PreRender del CrystalReportViewer1

Protected Sub CrystalReportViewer1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles CrystalReportViewer1.PreRender

       Dim rpt As ReportDocument = Me.CrystalReportSource1.ReportDocument

       rpt.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Response, False, "")

   End Sub

Espero que te sirva de ayuda o guia

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, February 11, 2008 5:51 PM

Listo!

En mi caso no fue en el evento PreRender, sino en el BeforeRender :s, pero al fin se soluciono.

Disculpa, no habia contestado debido al fin de semana, me desligo del trabajo lo mas que puedo jeje.

Por tu atencion, te estoy muy agradecido, ahora se que alguna duda, puedo contar con tu blog, quiza algun dia pueda aportar algun comentario de valor.

De nueva cuenta, gracias.

Raymundo M.

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, March 13, 2008 9:46 PM

Hola Lisseth

De donde sacas este metodo? CreateCrystalReportDocument?? es un componente que lo armaste?

Lo que si veo es que te devuelve un ReportDocument ya que luego lo asignas como ReportSource.

Cuando llamas a tu evento exportar tendras que ejecutar los mismos pasos para armar el reporte. Entonces la idea es que encapsules en un metodo lo que ahora tienes en el Load de la pagina.

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, March 14, 2008 6:33 PM

Gracias por contestar, ese metodo sale de una clase que uso para las conexiones y parametros, aqui esta el codigo de toda la clase:

public class Crystal

{

public Crystal()

{

}

  public CrystalDecisions.Shared.ConnectionInfo logInfo;

  public string rutaRpt;

   public void conectar()

   {

       logInfo = new CrystalDecisions.Shared.ConnectionInfo();

       logInfo.ServerName = "XYZ";

       logInfo.DatabaseName = "xyz";

       logInfo.IntegratedSecurity = true;

   }

   private static void logonrpt(ref ReportDocument rpt) {

       Tables tables = rpt.Database.Tables;

       Crystal cr1 = new Crystal();

       foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)

       {

           TableLogOnInfo tableLogonInfo = table.LogOnInfo;

           tableLogonInfo.ConnectionInfo = cr1.logInfo;

           table.ApplyLogOnInfo(tableLogonInfo);

       }  

   }

   public ReportDocument CreateCrystalReportDocument(string ruta)

   {

       ReportDocument rpt = new ReportDocument();

      rpt.Load(ruta);

      conectar();

       Tables tables = rpt.Database.Tables;

       foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)

       {

           TableLogOnInfo tableLogonInfo = table.LogOnInfo;

           tableLogonInfo.ConnectionInfo = logInfo;

           table.ApplyLogOnInfo(tableLogonInfo);

       }

       return rpt;

   }

   public ParameterField parameter(string id,string valor)

   {

       ParameterField parametro = new ParameterField();//envio el nombre del parametro

       ParameterDiscreteValue dVal = new ParameterDiscreteValue();//envio el valor del parametro

       parametro.Name = id;//asigno el nombre  del parametro

       dVal.Value = valor;//asigno el valor del parametro

       parametro.CurrentValues.Add(dVal);//adhiero a la coleccion de parametros

       return parametro;

   }

   public ParameterField parameter2(string p1, string p2, string p3, string p4, string p5, string v1,

       string v2, string v3,string v4, string v5 )

   {

       ParameterField parametro = new ParameterField();//envio el nombre del parametro

       ParameterDiscreteValue dVal = new ParameterDiscreteValue();//envio el valor del parametro

       parametro.Name = p1;//asigno el nombre  del parametro

       dVal.Value = v1;//asigno el valor del parametro

       parametro.CurrentValues.Add(dVal);//adhiero a la coleccion de parametros

       return parametro;

   }

Pero a que se refiere cuando me aconseja que el evento click del boton exportar siga los mismas pasos para armar el reporte??

Yo sé que debe ser sumamente sencillo lo que pregunto pero soy nueva en c# y crystal report.

Gracias por su ayuda.

}

Lisseth

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, March 14, 2008 6:44 PM

Hola nuevamente, siguiendo su consejo hice esto:

public partial class ViewReport : System.Web.UI.Page

{

   ReportDocument rpt = new ReportDocument();

   protected void Page_Load(object sender, EventArgs e)

   {

       CargarReporte();

   }

   protected void CrystalReportViewer1_Unload(object sender, EventArgs e)

   {

       rpt.Close();

       rpt.Dispose();

   }

   protected void btn_exportar_Click(object sender, EventArgs e)

   {

       CargarReporte();

       rpt.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Response, true, "");

    }

   protected void CargarReporte()

   {

       string p1 = "@codProd";//crea el parametro del procedimiento almacenado

       string p2 = Request.QueryString.Get("ItemId");

       Crystal cr = new Crystal();

       //ReportDocument rpt = new ReportDocument();

       string reportPath = Server.MapPath("CRPartida.rpt");

       //creo variable para el envio de parametros

       ParameterField parametro = new ParameterField();//envio el nombre del parametro

       parametro = cr.parameter(p1, p2);

       rpt = cr.CreateCrystalReportDocument(reportPath);

       CrystalReportViewer1.ParameterFieldInfo.Add(parametro);

       CrystalReportViewer1.ReportSource = rpt;

       CrystalReportViewer1.DataBind();

   }

}

Pero me sigue saliendo el mismo error:

Missing parameter values.

Line 65:         rpt.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Response, true, "");

Ayuda por favor es que necesito eso de suma urgencia para mi trabajo ;(

Lisseth

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, March 14, 2008 7:50 PM

Hola Lisseth

Gracias por copiar la clase, esta probando y el inconveniente es que estas pasando el parametro al  CrystalReportViewer, y la buenas practicas dice que debes pasarlo al ReportDocument.

En tu codigo deberias cambiar esta linea

   CrystalReportViewer1.ParameterFieldInfo.Add(parametro);

Por esta otra

   rpt.SetParameterValue(p1, p2)

Todo lo demas sigue igual a como estaba.

Comentame como te fue

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, March 14, 2008 10:06 PM

Muchas gracias José, por fin logré exportar a .pdf mi reporte  después de probar un montón de artículos, oye pero una última cosilla no me salió el recuadro de tu artículo que si quiero guardar el archivo o abrirlo, sino que de una se me abrio el pdf en el mismo browser, a que se deberá esto?

Una consulta tu creas que pueda exportar de la misma forma como exporto a excel a otros formatos como .doc o .xls escogiendo dicho fomato desde un dropdownlist(combo)?

Muchas gracias nuevamente.

Lisseth

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, March 14, 2008 10:09 PM

Ya me salió la exportación desde el combo a varios formatos para escoger y me sale el recuadro de abrir, guardar o cancelar la exportación.

Muchas gracias José por su ayuda!!!!!  ;)

Lisseth

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, March 20, 2008 6:36 PM

Hola nuevamente, el problema de la exportación de crystal reports a pdf continua, es decir al cambiar lo que José me dijo:

En tu codigo deberias cambiar esta linea

  CrystalReportViewer1.ParameterFieldInfo.Add(parametro);

Por esta otra

  rpt.SetParameterValue(p1, p2)

se solucionó para ese reporte que solo tenia 1 parametro pero al hacerlo para un reporte que tiene varios parametros me sale el siguiente error:

Line 51:         rpt = cr.CreateCrystalReportDocument(reportPath);

Line 52:         //crv_completo.ParameterFieldInfo = parametro;

Line 53:         rpt.ParameterFields.Add(parametro);

Line 54:         crv_completo.ReportSource = rpt;

Line 55:         crv_completo.DataBind();

No sé que hacer yo de verdad necesito poder exportar esos reportes a pdf.

Gracias. ;(

Lisseth

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, April 21, 2008 10:17 PM

Hola José, excelente tu artículo pero tengo un problema al exportar a .pdf ya que me exporta el reporte pero en algunas filas sale el texto cortado.

Tienes alguna idea de como solucionar ese gran inconveniente?

Gracia por tu ayuda.

Rodrigo

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, April 21, 2008 10:50 PM

Hola Rodrigo

(es dificil darte una solucion sin ver algo.. pero lo intentaremos)

Cuando insertas un campo en el reporte, puedes ir las propiedades del objeto (boton derecho) y tienes una propiedad que es "Can Grow" (Puede crecar) y es para que crezca el contenido verticalmente, puedes ingresar el limite de filas (pero si colocas 0 este limite no existe y crece hasta visualice todo el contenido)

Espero que te sirva de ayuda o guia

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, April 21, 2008 11:42 PM

Gracias por tu rápida respuesta, como mis reportes presentan muchos datos numericos y alfabeticos y los datos alfabeticos son muy grandes yo le puse el can grow check=true pero no especifique el limite en el campo de texto que se ve ahi, es decir lo deje por el valor default que es cero. Asi los textos largos se ajustan de acuerdo al largo del casillero.

Voy hacer lo que me aconsejas y darle valores al limite de caracteres a presentarse horizontalmente para ver que pasa.

Gracias amigo.

Rodrigo

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, April 28, 2008 5:51 PM

Me parecio muy bueno este pequeño pero explicita manual, me ayudo de mucho para un proyecto que tenia.

Queria hacerte una consulta... quiero exportar varios reportes a excel, pero no a distintos archivos xls sino a un mismo archivo pero con distintas hojas (sheets de excel), sabes alguna manera de hacerlo. Gracias.

Javier Astete

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, April 28, 2008 6:51 PM

Hola Javier... interesante pregunta, solo que para tener un mayor control sobre el render de excel tendrias que ver otra alternativa a un CR, a componentes de terceros, o dale una mirada al reciente SDK de OPEN XML donde podras manipular estos archivos.

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, April 28, 2008 7:39 PM

Si ya habia visto algo con Open XML, pero me parece que solo funcionaria para office 2007 y yo estoy con 2003, al parecer tendre que buscar otra forma.

Gracias.

Javier Astete

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, May 16, 2008 7:05 PM

Alguien sabe como exportar desde visual 6 a un documento PDF pero con contraseña o protegido

Jorge Maldonado

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, May 16, 2008 7:53 PM

Una pregunta estoy usando tu codigo pero me marca el siguiente error

CrystalDecisions.CrystalReports.Engine.ParameterFieldCurrentValueException was unhandled by user code

 Message="Missing parameter values."

 Source="CrystalDecisions.ReportAppServer.DataSetConversion"

 StackTrace:

El reporte tiene parametros pero no se como pasarselos a la hora de exportar me pantalla ya me sale pero no a la hora de exportar.

Gracias

armando

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, May 16, 2008 11:58 PM

Hola Armando

Lee detenidamente los comentarios de este post, que por ejemplo también hay una clase que te ayuda en la creación del reporte (junto con los paramentros)

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Tuesday, May 20, 2008 4:06 AM

hola, nose si me puedes ayudar, estoy trabajando con vs2005 c#. y hasta aqui todo esta bien:

CrystalReportSource1.ReportDocument.SetDataSource(tb);

tb esta con todos los datos de las tablas que voy a desplegar en el reporte. Pero cuando voy a exportarlo:

CrystalReportSource1.ReportDocument.ExportToHttpResponse(ExportFormatType.PortableDocFormat,Response,false,"");

en el cliente despliega el reporte en pdf pero sin datos.

Agradesco tu respuesta..

Nevenka

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Saturday, August 9, 2008 5:38 PM

Necesito esto mismo para VB6.0 alguien me puede ayudar ?

:(

NyselT

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Saturday, August 9, 2008 6:40 PM

Hola NyselT

Para VB6 yo utilizaba (y en algunos proyectos legacy aun utilizo) CR8

Alli no era posible (si mal no recuerdo)exportar a PDF... pero si recien en la version CR8.5

Cual versión de CR8 estas utilizando??

Pero si quieres exportar desde VB6 mira:

Pero una vez encontre esta libreria en VB6 para generar PDF

 www40.brinkster.com/.../default.asp

Espero que te sirva de ayuda o guia.

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, August 18, 2008 5:27 PM

Alguien sabe si es posible exportar un reporte a PDF con contraseña o mejor aun, exportar a PDF con alguna propiedad que solo permita visualizar el reporte y no poder imprimir?

Richard Paredes

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Tuesday, August 26, 2008 6:30 PM

al ejecutar la exportacion me sale el siguiente error:el codigo de usuario no encontro invalidArgumentException, le agradeceria la ayuda  

Protected Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

       Dim oRptPrueba As PRUEBA22 'rptPrueba

       Dim oArchivoDestino As DiskFileDestinationOptions

       If Me.ddlTipos.Text.Length = 0 Then

           MsgBox("Seleccionar un formato para exportar")

           Exit Sub

       End If

       If Me.TextBox1.Text.Length = 0 Then

           MsgBox("Escribir nombre de archivo para exportar")

           Exit Sub

       End If

       oArchivoDestino = New DiskFileDestinationOptions()

       oRptPrueba = New PRUEBA22()

       oRptPrueba.ExportOptions.ExportDestinationType = ExportDestinationType.DiskFile

       Select Case Me.ddlTipos.Text

           Case "PDF"

               oRptPrueba.ExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat

               oArchivoDestino.DiskFileName = Me.TextBox1.Text & ".PDF"

           Case "Excel"

               oRptPrueba.ExportOptions.ExportFormatType = ExportFormatType.Excel

               oArchivoDestino.DiskFileName = Me.TextBox1.Text & ".XLS"

           Case "Word"

               oRptPrueba.ExportOptions.ExportFormatType = ExportFormatType.WordForWindows

               oArchivoDestino.DiskFileName = Me.TextBox1.Text & ".DOC"

           Case "RTF"

               oRptPrueba.ExportOptions.ExportFormatType = ExportFormatType.RichText

               oArchivoDestino.DiskFileName = Me.TextBox1.Text & ".RTF"

       End Select

       oRptPrueba.ExportOptions.DestinationOptions = oArchivoDestino

       oRptPrueba.Export()

       MsgBox("Informe exportado a " & Me.ddlTipos.Text)

   End Sub

Fernando Huaman

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, August 28, 2008 7:35 PM

Hola que tal, bueno espero puedan darme alguna ayuda el tema es estoy trabajando con ASP.net c# (visual studio 2008) y genero un reporte de factras con crystalviewer1 el tema es el siguiente debemos enviar una parte de esas facturas electrónicamente por lo que debo primero exportarlas a pdf pero con Fuentes EMBEBIDAS que son necesarias si o si para la generación del código de barras de la misma a través del cual el cliente paga en bancos y otros medios por lo que esa fuente está licenciada y no la puedo cambiar y con el metodo ExportFormatType.PortableDocFormat no me toma las fuentes embebidas entonces necesito algun componente que me permita hacer esto "por código" no con interface sino que se hace transparente al usuario es decir se seleccionan el bloque de facturas se exporta cada una a pdf y se almacenan en el servidor o localmente luego por otro lado hace el envio de esos archivos. si alguien sabe algo de esto o que componente usar agradezco cualquier ayuda que me puedan dar muchas gracias

Paola

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, August 29, 2008 4:15 PM

Hola Paola

Nunca tuve la oportunidad de necesitar incrustar fuentes (embeberlas en el pdf) en CR, pero creo si es para Codigo de barras, en CR2008 ya viene esas fuentes embebidas para utilizarlas. Mira:

www.businessobjects.com/.../cr_2008_whats_new.pdf

Si no estas utilizando CR2008... Tendrias que ver otras formas de generar tus reportes

(tengo un post en borrador hace un tiempo sobre generacion de pdf)

TE dejo algunos enlaces para que investigues sobre esto:

  - iTextSharp

itextsharp.sourceforge.net

    Descarga:

sourceforge.net/.../itextsharp

    Tutorial

itextsharp.sourceforge.nettutorial/index.html

    Ejemplo

www.elguille.info/.../Percynet_Funcionalidad_itextsharp_con_csharp.htm

 - iText.NET

    Free PDF Library for .NET Framework

www.ujihara.jp/.../en

    Ejemplos de  codigo en VB.NET con iText.NET

www.ujihara.jp/.../enexamplesvb.html

  - Report.NET

http://report.sourceforge.net/

  - SharpPDF

sharppdf.sourceforge.net

    Tutorial

sharppdf.sourceforge.netTutorials.html

Espero que te pueda servir, y tambien espero poder postear algo al respecto cuando tengo un tiempo :)

Saludos

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, September 4, 2008 1:46 AM

por favor alguien me puede ayudar como puedo hacer la exportacion de un proyecto web c#.net a pdf o excel y tambien si alguien sabe como mandar imprimir un repeater ya que este muestra un repeater demaciado extenso quiero decir que tiene varias columnas que dicen...

auxilio me urenge las 2 cosas la exportacion a excel y la impresion

veroali

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, September 5, 2008 2:07 AM

un favor quiza para ustedes es algo muy sencillo pero yo ya llevo las horas y no le encuentro el porque. mi detalle es que cuando exporto el reporte a pdf me sale la ventanita que me dice cuantas copias y si deseas imprimir todo pero despues de eso no me aparece la ventana de guardar como. asi que no se donde se guarda y el nombre que tiene, lo que quiero es que aparesca la ventanita.

esto no pasa en todas las maquinas solo en unas..

ojala me puedan ayudar, de antemano les mando un cordial saludo.

elfaro

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, September 5, 2008 12:36 PM

[Para Veroali]

Tendrias que mirar los componentes que menciono un comentario mas arriba del tuyo, para poder armar tuy propio PDF, Con respecto a Excel, puedes utilizar la famosa tecnica de armar una tabla HTML y cambiar el content-type

[Para elfaro]

Es dificil ayudar sin ver el problema. Es el mismo sistema operativo? el mismo navegador?

Puedes encontrar ayuda mas "rapida" que aqui por los newsgroup de ASP.NET

groups.google.com.ar/.../topics

o desde los foros de MSDN:

forums.microsoft.com/.../ShowForum.aspx

Espero que te sirva de ayuda o guia

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, October 3, 2008 7:05 PM

Buenos Dias

Desde una pagina aspx exporto 5 reportes a word (No hay problema). Pero luego el usuario selecciona uno de los 5 reportes y lo debe  imprimir en una impresora que se pasa por parametro.... Como puedo hacer esto lo estoy haciendo con interop.word para abrir el word en la pagina aspx y luego imprimir pero no me hace nada.... No abre el word ni nada en el servidor.... La pagina se queda haciendo nada.... Ya revise permisos en el IIS.... que puedo hacer.... El desarrollo es web y esta con  visual studio 2008.

Gracias de antemano.

Johanna

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Saturday, October 11, 2008 12:23 AM

Nadie me responde Ayuda

:(

Johanna

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Wednesday, October 15, 2008 10:38 PM

Es muy bueno tu articulo,me voy a tomar la libertad de hacerte una consulta. Tengo el siguiente problema tengo un programa que entre muchas cosas que hace, genera informes en crystal report y estos se pueden exporta a varios formatos, pero cuando instalo el programa en algunos equipos no me funciona el boton de exportar de crystal (el icono de un sobre), he probado instalando cuanto dll y ocx he encontrado, pero no me permite exporta, no me envia un error, sino que no aparece el cuadro de dialogo Exportar... si me puedes ayudar te lo agradeceria

aplacesabelle

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, November 21, 2008 10:25 PM

y como realisas todo este proceso pero para aplicaciones "Windows Forms"

kradle

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Tuesday, December 30, 2008 7:04 PM

trabajo con visual basic 6 y crystal 8 tengo problemas con el boton de exportar saca todos los cuadros pero el archivo que genera lo deja en blanco ya sea excel o otro formato

alberto

# Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, January 15, 2009 6:14 PM

Hola necesito exporta d crystal a excel pero a una hoja espicifica de mi libro no se como hace esto me pueden ayudar

estoy usando el viewer 10 y vb.net

Eli27

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, January 15, 2009 7:15 PM

Hola kradle

En winform tambien puedes realizar esta tarea.

----------------------

Hola Eli27

Puedes enviar datos a una hoja de excel de varias maneras, te dejo enlaces que te pueden ayudar

- Transferir los datos a un archivo de texto delimitado por comas o tabuladores que Excel puede analizar después en las celdas de una hoja de cálculo.

- Transferir los datos a una hoja de cálculo con ADO.NET.

- Transferir los datos XML a Excel (versiones 2002 y 2003) para proporcionar datos que tengan formato y estén organizados en filas y columnas.

mas info

 - Cómo transferir datos a un libro de Excel utilizando Visual C# 2005 o Visual C# .NET

   support.microsoft.com/.../306023

Haciendo referencia a Microsoft.Office.Core

- Exportar datos a Excel (Javier Conesa y Carmen Hernández)

  www.moreplus.es/index.aspx

o tambien    

 - Pasar Datagrid a Excel

   groups.google.com.ar/.../301907187de7d109

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, January 15, 2009 11:00 PM

Hola que tal, tengo el siguiente problema al exportar un reporte de Seagate Crystal Reports producto 8.0.1.0 VErsion 8.0.0.37 a un Libro de Excel 2007, el campo de detalle me lo limita a cierto numero de caracteres, pero si edito la celda puedo seguir escribiendo mas caracteres de los exportados, me podria ayudar alguien a saber que propiedad tengo que modificar o que puedo hacer para que no limite la celda, el Crystal lo ejecuto desde un programa en Visual Basic 6.0  Saludos!!!

Gaby C

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Saturday, January 17, 2009 1:45 AM

Hola, excelente blog amigo, hice la prueba en VS 2008 y funciona muy bien, ahora lo que requiero hacer es lo siguiente, quiero que a partir de un boton cargar el reporte, exportar el archivo en pdf y guardarlo en una ruta del directorio, tanto el nombre del archivo como la ruta donde se guardan son creados desde codigo de manera automática, todo esto lo quiero pero que no sea visible para el usuario, espero alguien me pueda ayudar, saludos a todo.

Jairo

# problema en visualizacion de reporte al invocarlo desde ASP@ Monday, February 9, 2009 8:16 PM

Hola,

Tengo el siguiente problema.

Desde el Crystal Reports genero un reporte basado en una consulta a la base de datos, una de esas columnas puede tener informacion muy larga. Si genero en reporte desde Crystal se visualiza bien el reporte. Si invoco el reporte desde un ASP, las filas con informacion larga se sobreescriben.

Gracias por su ayuda

Ana

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, February 19, 2009 8:51 PM

Hice tal cual como pones en tu código, peor solo consigo el siguiente error:

An exception of type 'System.InvalidCastException' occurred in App_Web_at7lzrev.dll but was not handled in user code

Additional information: Unable to cast object of type 'CrystalDecisions.ReportSource.NonHTTPCachedReportSource' to type 'CrystalDecisions.CrystalReports.Engine.ReportDocument'.

Hay que configurar alguna otra propiedad al reporte???

Roberto

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, February 19, 2009 9:53 PM

@Roberto

Tendrias que ver el codigo, pero por lo que comentas debe ser algo del ReportSource.

Como estas asignando?

O mejor...cuando haces debug en que linea te da el error?

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, February 27, 2009 2:48 PM

Hoy hice otra prueba, y me di cuenta que el código funciona...siempre y cuando sea en una ventana anexa a la aplicación, si el reporte se abre en la misma página no hay caso.

Al parecer el error se presenta porque no puedo cambiarle el header a la página en tienmpo de ejecución.

¿Existe alguna forma de arreglar esto?

Roberto

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, February 27, 2009 3:21 PM

Al hacer un debug más acabado me encuentro con que el problema lo tiene al tratar de usar el objeto RESPONSE...¿tendra que ver con que esta en una masterpage?

(si abro el reporte en otra ventana no hay problema)

Roberto

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Wednesday, March 4, 2009 4:41 AM

Hola, me sirvió mucho tu explicación, pero aún tengo un problema, no se si puedas ayudarme; resulta que puedo exportar el reporte a todos los formatos excepto a PortableDocFormat, sólo me aparece un recuadro con la barra de dezplazamiento bloqueada, no se tal vez tu sepas el por qué de esto.

Julio

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, March 12, 2009 3:18 PM

Lo corregí...el problema se daba, no por el código de exportación...sino porque en la página que lo llamaba tenía el reporte en un updatepanel AJAX...

Roberto

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, March 12, 2009 7:13 PM

@Julio

Si tu exportacion es a PDF, parece ser que es un problema de tu navegador? prueba con exportar a disco a ver si funciona

@Roberto

Gracias por compartir tu experiencia.

No creo que se problema de compatibilidad con ASP.NET AJAX ya que tengo proyectos con ambas tecnologias

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, March 13, 2009 1:40 AM

saludos, tengo el mismo problema que Roberto, cuando se me ocurre poner la exportación en un boton dentro de un UpdatePanel el Response me marca error, he tenido casos com oeste don deel ajax no me admite el Response, no se si tendras alguna solucion o ejemplo de como lo usas cuando trabajas dentro de un updatepanel, me seria muy útil, gracias, saludos

Carlos

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, March 13, 2009 12:29 PM

@Carlos

voy a ver si puedo postear con un ejemplo (recordamelo sino lo hago la semana que viene)

Saludos

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, March 16, 2009 6:49 PM

pues solo para recordarte del ejemplo que ibas a postear sobre mandar de crystal a pdf con un botón dentro de un update panel, saludos desde México y muchas gracias

Carlos

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Tuesday, March 24, 2009 1:58 AM

pues dijiste que si n olo posteabas la semana pasada te recordara, y aqui estoy puntual, saludos esperando el ejemplo, gracias

carlos

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, March 30, 2009 4:30 PM

@Carlos

Aqui esta el post

Exportar Crystal Report Document ASP.NET dentro de un UpdatePanel

geeks.ms/.../exportar-crystal-report-document-asp-net-dentro-de-un-updatepanel.aspx

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Wednesday, May 13, 2009 5:39 PM

hola tengo una duda no me funciona bien

mi programa me marca el siguiente error

Referencia a objeto no establecida como instancia de un objeto. en la siguiente

linea

Línea 176:        reporteDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "reporte")

me podrias deciar por favor como le puedo hacer

Gracias!!!

nancy

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Wednesday, May 13, 2009 6:10 PM

Hola @Nancy

Debe ser por problemas de ExportFormatType?

Tu escribiste esa linea o copiaste? Escribiste con intellisense el metodo ExportToHttpResponse y el tipo de formato de exportacion?

Pero para ganar tiempo mira si  importaste estos espacios de nombre:

Imports CrystalDecisions.CrystalReports.Engine

Imports CrystalDecisions.Shared

(al principio del articulo comento para que se necesitan ambos)

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Saturday, August 8, 2009 4:57 PM

al tratar de exportar los datos desde un reporte cryhstal (4) a un archivo exel, me rechaza con el argumento 20540 "falta la dll de exportacion o no esta actualizada"

Miguel

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Saturday, August 8, 2009 10:20 PM

Hola Miguel

Hace cuanto no utilizo CR y mas aun la version 4... pero trataremos de ayudarte.

Te comento que cuando programaba en VB6 con CR8 teníamos problemas en el deployment para las DLL del CR.

- O haces tu instalación manualmente (de las DLL necesarias) copiar las dll en las carpetas correctas y algunas registrarlas

- u obtienes el merge module de CR4 y lo metes dentro de tu instalador

Como estas desplegando el CR en tus clientes?

Mas ayuda puedes buscarla en la "ayuda online"

Esto te puede ayudar:

www.sdn.sap.com/.../advancedsearch

Mas precisamente donde dice: "1209439 - Export Options Not appearing at runtime"

José A. Fernández

# re: Exportar Crystal Report Document PDF y popnerle clave desde el codigo a ese pdf@ Wednesday, September 16, 2009 8:30 PM

Estoy haciendo una aplicacion que de unas facturas y las estoy generando en pdf, pero ahora se hace necesario crearle una clave para que el usuario las pueda visualizar.  Me podrian ayudar es muy urgente

SandraF

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Saturday, September 19, 2009 1:20 AM

Hola @SandraF, nunca necesite realizar esta tarea de crear un PDF con Password, asi que no te podria ayudar directamente...

Pero mira si te sirve este enlace:

 - Merging and Password Protecting PDFs Exported by Crystal Reports

  http://aspalliance.com/571

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Wednesday, September 23, 2009 11:55 PM

Que tal! primero que nada, excelente artículo, tenia ciertas dudas y pude despejarlas, pero lo que no he podido hacer, es que el reporte se abra en una ventana del navegador nueva. Imagine que debería usar el "target _blank", pero no se como implementarlo. Es bueno decir que uso UpdatePanel, por lo que el reponse.write o algo así no funciona. Gracias de antemano!

Anib

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, September 24, 2009 1:01 AM

Hola @Anib,no lo hice pero se me ocurre que si quieres que el reporte o la exportación se abra en otra ventana, tendrás que implementar una llamada a una pagina que contenga el mismo código (podrías compartirlo como UserControl). Es decir no puedes enviar el reporte a otra pagina, tampoco creo que quieras guardar en disco solamente para mostrarlo en otra pagina, solución entonces (la que te comente) armar un UC que presente el reporte y el mismo UC que exporte solo que cuando quieres exportar abres una nueva ventana a la cual envías los parametros necesarios para que el UC vuelva a consultar "sus datos"... se entiende?

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Sunday, September 27, 2009 4:07 PM

@Anib

Puedes utilizar una librería que si te permite esto, mira PdfSharp

www.pdfsharp.net/.../ProtectDocument-sample.ashx

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, September 28, 2009 9:48 PM

Muy bien! Gracias José, ya logramos abrir el PDF en otra ventana. Pero en enlace para PDFsharp sería un bonus para el reporte. Gracias por la ayuda. Excelente blog.

Anib

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, September 28, 2009 9:56 PM

@Anib, me alegro que te sirviera.

Gracias por los halagos, uno siempre se pregunta si lo que uno escribe puede llegara ayudar a alguien mas, y con esto corroboro :)

Saludos cordiales.

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Tuesday, September 29, 2009 8:10 PM

Señores buenas tardes desde ya gracias por el foro y la ayuda, tengo problemas al exportar un reporte a PDF desde asp net 1.1.

El reporte tiene un sub reporte estos si se visualizan pero a la hora querer exportar me sale el siguiente error, ojo que otros reportes si los exporta bien aqui todo el codigo:

   Private Sub Unidades_Rpt()

       Dim rptStream As New System.IO.MemoryStream

       Dim subreportName As String

       Dim subreportObject As SubreportObject

       Dim mysub As New Rpt_Rs_Unidades

       Dim rep As New ReportDocument

       Dim RepSub As New ReportDocument

       Dim reportPath As String = Server.MapPath("Rpt_Unidades.rpt")

       oCRConnectionInfo.DatabaseName = "CnComisiones"

       oCRConnectionInfo.ServerName = "192.168.1.7"

       oCRConnectionInfo.UserID = "xxxx"

       oCRConnectionInfo.Password = "0000000000"

       CrystalReportViewer1.ReportSource = Server.MapPath("Rpt_Unidades.rpt")

       rep.Load(Server.MapPath("Rpt_Unidades.rpt"))

       rep.SetDatabaseLogon("xxxx", "0000000000")

       rep.Load(reportPath)

       rep.SetParameterValue("@Idcoordinador", Session("filtro_sup"))

       If TypeOf (rep.ReportDefinition.ReportObjects.Item("Subreport1")) Is SubreportObject Then

           subreportObject = rep.ReportDefinition.ReportObjects.Item("Subreport1")

           subreportName = subreportObject.SubreportName

           RepSub = rep.OpenSubreport(subreportName)

       End If

       rptStream = CType(Rpt_Unidades.ExportToStream(CInt(ddlTipos.SelectedValue)), System.IO.MemoryStream)

   End Sub

   Private Sub btnExportar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExportar.Click

       Dim rptStream As New System.IO.MemoryStream

       If Session("rpt1") = 1 Then

       ElseIf Session("rpt1") = 2 Then

           rptStream = CType(Rpt_Personal.ExportToStream(CInt(ddlTipos.SelectedValue)), System.IO.MemoryStream)

       ElseIf Session("rpt1") = 3 Then

           Unidades_Rpt()

       ElseIf Session("rpt1") = 4 Then

       ElseIf Session("rpt1") = 5 Then

       End If

       'rptStream = CType(rptWebComisiones.ExportToStream(CInt(ddlTipos.SelectedValue)), System.IO.MemoryStream)

       'Limpiamos la memoria

       Response.Clear()

       Response.Buffer = True

       'Le indicamos el tipo de documento que vamos a exportar

       Response.ContentType = FormatoDocumento()

       'Automaticamente se descarga el archivo

       Response.AddHeader("Content-Disposition", "attachment;filename=" + Me.nombreReporte)

       'Se escribe el archivo

       Response.BinaryWrite(rptStream.ToArray())

       Response.End()

   End Sub

   Private Function FormatoDocumento() As String

       Dim tipo As String

       Select Case Integer.Parse(ddlTipos.SelectedValue)

           Case ExportFormatType.Excel

               tipo = "application/vnd.ms-excel"

               nombreReporte &= ".xls"

           Case ExportFormatType.RichText

               tipo = "application/rtf"

               nombreReporte &= ".rtf"

           Case ExportFormatType.WordForWindows

               tipo = "application/msword"

               nombreReporte &= ".doc"

           Case Else

               tipo = "application/pdf"

               nombreReporte &= ".pdf"

       End Select

       Return tipo

   End Function

jgavelan

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Tuesday, September 29, 2009 8:15 PM

Me olvidaba aqui el error:

Error de servidor en la aplicación '/WebComisiones'.

--------------------------------------------------------------------------------

Falta el valor actual del campo de parámetro.

Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: CrystalDecisions.CrystalReports.Engine.ParameterFieldCurrentValueException: Falta el valor actual del campo de parámetro.

Error de código fuente:

Línea 140:            RepSub = rep.OpenSubreport(subreportName)

Línea 141:        End If

Línea 142:        rptStream = CType(Rpt_Unidades.ExportToStream(CInt(ddlTipos.SelectedValue)), System.IO.MemoryStream)

Línea 143:

Línea 144:    End Sub

Archivo de origen: C:\Inetpub\wwwroot\WebComisiones\RptPrincipal.aspx.vb    Línea: 142

jgavelan

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, October 1, 2009 10:10 PM

Hola @jgavelan

Gracias por dejar tu comentario, justamente esto no es un foro sino un simple post de mi blog, dude en publicar tu código extenso pero al final lo hice.

Con respecto a tu problema, hace unos cuentos meses que no utilzo CR, pero el error de ParameterFieldCurrentValueException mas arriba en los comentarios podras ver que hay una clase que nos ayuda a crear reportes con CR, sin necesidad de estar escribiendo todo cada vez, dale una mirada.  Es la clase que @Lisseth posteo en un comentario.

Espero que con eso te pueda ayudar.

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, October 2, 2009 6:40 PM

Buenos dias,

De hace algunos dias me estoy quebrando la cabeza con esto, haber si me pueden ayudar.

En una pagina aspx, estoy creando una cotizacion, cuando pulso el boton de crear cotizacion, genero un reporte, pero este debe de aparecen en formato pdf.

Al mandar llamar la pagina que contiene el control  CrystalReportViewer1 se abre esta pagina y se abre otra mas que ya es el pdf en si , ¿alguna sugerencia?, desde ya, muchas gracias

Victor

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Tuesday, October 27, 2009 7:28 PM

Hola, es muy bueno el reporte, pero no sabras de casualidad como abrir un archivo desde vb.net 2005  Word o de Excel, (como esos archivos son formatos se vueleven a reutilizar, el usuario llena el formato) y después lo  exporte a pdf y se guarde la ruta en sql Server 2005.

Perla

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, December 10, 2009 7:22 PM

Hola, tengo el siguiente problema. Estoy utilizando c# con vs2005 y utilizo un rpt el cual exporto a pdf. El rpt tiene un campo que es un código de barras. Cuando lo ejecuto en local todo sale perfecto pero al colgar la aplicación en el iis el campo del código de barras sale sin la fuente correspondiente.

He mirado las propiedades del pdf y en local aparece con la fuente pero en el servidor no la tiene.

¿Alguien puede ayudarme por favor? Me estoy volviendo loca y me urge. Muchas gracias

Raquel

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, December 17, 2009 12:30 AM

Hola Luis

El problema no es este?? de cantidad de trabajos simultaneos

"The maximum report processing jobs limit configured by your system administrator has been reached"

por defult es 75, asi que podria venir por ahi tu problema

Mira si te sirve cambiar en el registry el valor PrintJobLimit

Se encuentra aqui:

HKEY_LOCAL_MACHINE\SOFTWARE\CRYSTAL DECISIONS\10.0\REPORT APPLICATION SERVER\SERVER\PrintJobLimit

Mas info:

geekswithblogs.net/.../114008.aspx

Avísame si es este tu problema porque ni consigo ver la descripción de la excepción que envías

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, December 21, 2009 11:30 PM

No puedo exportar un archivo de cristal reports 7 a excell, me dice que la versión de ser igual o superior a cristal report 9 , donde la puedo conseguir

Juan

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, February 12, 2010 7:24 PM

Hola, tengo un problema, genero una exportación de a pdf de forma "artesanal", es decir:

           MemoryStream rptStream = new MemoryStream();

           rptStream = rptMan.getReportStream(sPath, sID);

           Response.Clear();

           Response.Buffer = true;

           Response.ContentType = "application/pdf";

           Response.AddHeader("Content-disposition", "attachment; filename=CartaRenuncia.pdf");

           Response.BinaryWrite(rptStream.ToArray());

           Response.End();

esto en mi local corre perfecto, el problema que al subirlo al server de desarrollo o de producción, el primer reporte que se genera se tarda demasiado, despues de este, cualquier otro que se genera no tarda nada, incluso si es el mismo reporte el que se genera por segunda vez.

sabras a qeu se pueda deber el que se tarde al generar por primera vez?

Gracias

Rahd

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Tuesday, March 9, 2010 12:06 AM

Y podrias decirme como exportar a PDF desde vb6 con crystal 8. Gracias, isabel

isabel

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Wednesday, March 17, 2010 10:18 PM

Genial..

Excelente post.

jtorresrios

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, March 26, 2010 3:27 PM

Muy bueno me ayudado mucho, se nota sabes bstante,asi es que espero me puedas ayudar.

Te cuento: logre levantar el informe pero me manda el sgte. error

"No es posible abrir un conjunto de filas. Detalles: Código de error ADO: 0x Origen: Microsoft OLE DB Provider for SQL Server Descripción: There is already an object named '##TEMP_TBL_LAB_RESULTADO_ANALISIS_101915' in the database. Estado de SQL: 42S01 Error nativo: No es posible abrir un conjunto de filas. Error en el archivo C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\Rpt_Informe_Asignacion_Lote {AE9934EB-4724-46E2-9470-FE730AB4E7FD}.rpt: Error al abrir el conjunto de filas"

Lo necesito por favro ayudame..

Desde ya muxas pero muxas gracias...

Marlenne

Marlenne

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, April 9, 2010 4:28 PM

Jose

Excelente aporte.Me sirvió bastante.

Gracias

JuanQ.

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Sunday, April 18, 2010 12:47 AM

Hola Marlenne, tu error parece ser el origen de datos de tu reporte. Cada vez que aparece el error [...]}.rpt: Error al abrir el conjunto de filas, reviso que el reporte esté actualizado contra el SP que lo genera y que el mismo no falle. Además, por la primera parte del error, observo que tu procedure crea una tabla temporal (##TEMP_TBL_LAB_RESULTADO_ANALISIS_101915) que ya existe. Para evitar este error, te sugiero que:

1 antes de crear la tabla verifiques su existencia (por si el procedmiento se ejecuta de manera simultanea en mas de un equipo, por ej.);

2- siempre al final del procedure en que se crea, la borres;

3- no repitas el nombre de creacion en procedimientos distintos;

4- no hagas una temporal ## si solo necesitas que sea visible de manera local al procedimiento (en su lugar utiliza del tipo #);

5- por que no usar varaibles de tipo table;

En fin, tu problema no está en el CR sino en el origen de datos.

Espero que te sirva mi pequeño aporte.

Saludos,

Sergio

Sergio

# Error 'CrystalDecisions.Shared.ParameterFields' @ Sunday, April 18, 2010 12:59 AM

Gente, alguien se topó con este error alguna vez?

El tipo 'CrystalDecisions.Shared.ParameterFields' del ensamblado 'CrystalDecisions.Shared, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' no está marcado como serializable.

el problema surge cuando publico la aplicacion WEB en el server. En el entorno de desarrollo funciona bien.

Además, el botón export del CR viewer pide los parámetros de export (formato, páginas, etc.) pero al momento de Aceptar, no efectiviza la acción y se limita a mostrar la misma página de impresion en la pantalla emergente que surge al presionar el boton de EXPORT. Todo muy raro.

Toda ayuda es bienvenida.

Saludos,

Sergio

Sergio

# Exportar @ Tuesday, May 25, 2010 9:58 PM

Hola

esta muy bien el tema y puede resultar muy util

solo que tengo un detalle

envia error missing parameters values y envio al objeto ReportDocument los parametros

Reporte.SetParameterValue("TasaInteresNum", tasaInteresNumValue)

no se a que se deba esto??

alguna idea??  

gracias y saludos

karina

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, June 28, 2010 11:10 PM

Muy buen post, pero tengo una duda...

si manda el recuadro de abrir, guardar y cancelar, pero lo que quiero es que mande a imprimir diretamente como doc de word.

ojala me puedan ayudar!!!

Francisco Aranda

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, August 19, 2010 11:31 AM

Gracias por el aporte.

Susana Maria

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, October 15, 2010 4:09 PM

oye sabi que no me funciona tu codigo me manda error en

ReporteCargar() (aki)

reporteDoc (aki).ExportToHttpResponse (ExportFormatType.PortableDocFormat, Response, True, "NombreArchivo")

es solo eso el codigo o es mas? porque en realidad no entiendo, si es una funcion donde ets ala funcion reporte cargar()

roberto

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, October 21, 2010 7:48 PM

HOLA NO SE SI ME PUEDAN AYUDAR PARA PONERLE UN FILTRO A CRYSTAL REPORT PARA QUE SOLO ME MUESTRE LA INFORMACION QUE NESESITO PORFA

EDUARDO

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Monday, November 1, 2010 7:43 PM

Loco, estuve buscando algo parecido hace 5 días! Sos un groso!!! Un millón de gracias!

Pio Montenegro

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Tuesday, December 28, 2010 8:19 PM

se crea la clase ReporteGeneral.vb

Imports Microsoft.VisualBasic

Imports CrystalDecisions.CrystalReports.Engine

Imports CrystalDecisions.Shared

Imports CrystalDecisions.Web

Imports System.IO

Imports System.Data.SqlClient

Public Class ReporteGeneral

   ' Parámetros de los Reportes

   Public Structure Parametro

       Public sNombre As String

       Public oValor As Object

   End Structure

   '************************************************************************************

   ' NOMBRE:       iAsignarDatosConexion

   ' DESCRIPCION:  Asignar datos de conexion a la bd para llenar el reporte se agrego static

   '************************************************************************************

   Public Shared Function iAsignarDatosConexion(ByVal rptReporte As ReportDocument) As Integer

       Dim iResultado As Integer

       Try

           If iResultado = 0 Then

               Dim cn As New SqlConnection(ConfigurationManager.ConnectionStrings("Comerciales").ToString)

               Dim ciConexion As ConnectionInfo = New ConnectionInfo()

               ciConexion.ServerName() = cn.DataSource

               ciConexion.DatabaseName() = cn.Database

               ciConexion.IntegratedSecurity() = True

               Dim liTabla As TableLogOnInfo = New TableLogOnInfo()

               liTabla.ConnectionInfo() = ciConexion

               Dim Tabla As Table

               For Each Tabla In rptReporte.Database.Tables

                   Tabla.LogOnInfo.ConnectionInfo = ciConexion

                   Tabla.ApplyLogOnInfo(liTabla)

               Next

               iResultado = 0

           End If

       Catch ex As Exception

           iResultado = -1

       End Try

       Return iResultado

   End Function

   '************************************************************************************

   ' NOMBRE:       iAsignarValoresParametros

   ' PARAMETROS:   dParametro <-- Nombre del Reporte

   '               aParametros <-- Definición de Parámetros

   ' DESCRIPCION:  Llenar los parametros con los valores de la bd

   ' Se agrego el shared a la funcion

   '************************************************************************************

   Private Shared Function iAsignarValoresParametros(ByVal dParametro As ParameterFieldDefinitions, ByVal aParametros() As Parametro) As Integer

       Dim iResultado As Integer

       Try

           Dim pValor As ParameterDiscreteValue = New ParameterDiscreteValue

           Dim cValor As ParameterValues = New ParameterValues

           Dim pParam As Parametro

           Dim intParamatro As Integer

           intParamatro = 0

           For Each pParam In aParametros

               pValor.Value = pParam.oValor

               cValor.Add(pValor)

               'dParametro(pParam.sNombre).ApplyCurrentValues(cValor)

               dParametro(intParamatro).ApplyCurrentValues(cValor)

               intParamatro = intParamatro + 1

           Next

           iResultado = 0

       Catch ex As Exception

           iResultado = -1

       End Try

       Return iResultado

   End Function

   '************************************************************************************

   ' NOMBRE:       iMostrarReporte

   ' PARAMETROS:   sNombreReporte <-- Nombre del Reporte

   ' ctTipoComando aParametros <-- Arreglo de Parámetros

   '               crvReporte <--

   ' DESCRIPCION:  Desplegar una ventana secundaria, hacer click en el botón imprimir

   ' se agrego el static

   '************************************************************************************

   Public Shared Function iMostrarReporte(ByVal sNombreReporte As String, ByVal aParametros() As Parametro, ByRef dReporte As ReportDocument) As Integer

       Dim iResultado As Integer

       Try

           'Dim dReporte As ReportDocument = New ReportDocument

           dReporte = New ReportDocument

           dReporte.Load(sNombreReporte)

           'crvReporte.EnableViewState = False

           iResultado = iAsignarValoresParametros(dReporte.DataDefinition.ParameterFields, aParametros)

           If iResultado = 0 Then

               iResultado = iAsignarDatosConexion(dReporte)

               If iResultado = 0 Then

                   'crvReporte.ReportSource = dReporte

                   iResultado = 0

               End If

           End If

       Catch ex As Exception

           iResultado = -1

       End Try

       Return iResultado

   End Function

   Public Function iMostrarReporte(ByVal sNombreReporte As String, ByVal crvReporte As CrystalReportViewer) As Integer

       Dim iResultado As Integer

       Try

           Dim dReporte As ReportDocument = New ReportDocument

           dReporte.Load(sNombreReporte)

           crvReporte.EnableViewState = False

           iResultado = iAsignarDatosConexion(dReporte)

           If iResultado = 0 Then

               crvReporte.ReportSource = dReporte

               iResultado = 0

           End If

       Catch ex As Exception

           iResultado = -1

       End Try

       Return iResultado

   End Function

End Class

en una pagina Reporte.aspx

Imports ReporteGeneral

Imports System.Web

Imports CrystalDecisions.CrystalReports.Engine

Imports CrystalDecisions.Shared

Partial Class Reporte

   Inherits System.Web.UI.Page

   Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init

       Dim intResultado As Integer

       Dim aparametros(1) As Parametro

       Dim strCodTrabajador As String

       strCodTrabajador = Request.QueryString("strCodTrabajador")

       aparametros(0).sNombre = "@intComunicado"

       aparametros(0).oValor = Session("NumComunicado")

       aparametros(1).sNombre = "@strCodTrabajador"

       aparametros(1).oValor = strCodTrabajador

       Dim dreporte As ReportDocument

       intResultado = ReporteGeneral.iMostrarReporte(Server.MapPath("Comunicado.rpt"), aparametros, dreporte)

       If intResultado = 0 Then

           Response.Buffer = False

           Response.Clear()  'ClearContent, ClearHeaders

           dreporte.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "NombreArchivo")

       End If

   End Sub

Ana

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, January 27, 2011 12:09 PM

Muchisimas gracias, gran explicación. Me has sacado de un apuro!!

Jose Pablo

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Friday, January 28, 2011 6:54 PM

Alguién sabe porque Crystal Reports al exportar a PDF agrega una letra "i" junto a todas las "t" que se encuentren en minúsculas? Cómo se puede corregir este problema?

Jorge

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Wednesday, April 13, 2011 5:19 PM

Logre solucionar el problema de exportar los reportes de Crystal a PDF.

Como bien dice aqui,  utilice el ExportToHttpResponse y me daba el mismo error del ThreadAbortExcepcion

lo solucione como aparece en esta pagina

www.codeproject.com/.../Why-not-to-pass-endResponse-parameter-as-true-in-R.aspx

Andrés

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Wednesday, May 4, 2011 1:09 AM

Para evitar que salga la "i" junto a las "t" cambia el tipo de letra. Eso a me paso y cambiandole el tipo de letra se soluciono.

Luis

# error al generar cierta cantidad de reportes @ Wednesday, June 1, 2011 7:51 PM

tengo un problema con el crystal. Cuando genero cierta cantidad de reportes en crystal llega un punto en que me genera el siguiente error "Error: Load report failed.", creo q es por que falta cerrar la conexion pero no se como hacerlo

eliza

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Wednesday, June 1, 2011 8:53 PM

genera error despues de que genero cierta cantidad de reportes, creo q el error radica en q no cierra la conexion de crystal report pero no se como

alguien me puede ayudar

eliza

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, June 2, 2011 12:51 AM

@Eliza este problema es por el limite de la cantidad de informes que tienes por app (no recuedo si es por app web o por server)

Este problema esta documentado en la ayuda. Dale una mirada a este articulo

CRYSTAL REPORTS MAXIMUM REPORT PROCESSING JOBS LIMIT

www.sdn.sap.com/.../index

Espero que te sirva de ayuda o guia

José A. Fernández

# Ayuda Con Cristal Report@ Wednesday, July 20, 2011 6:35 PM

Hola muchachos, al parecer tienen mucha experiencia en el tema de Cristal, espero ustedes puedan ayudarme con un problemita, digo problemota...

Resulta que necesito exportar un reporte en formato word, y que sea editable completamente, lo que quiero decir es que cuando ya tengo el reporte en el documento de word este no me permite modificarlo a gusto, se mueve todo si hago algo, pareciera que la informacion que muestra el documento, fuese como una imagen que va sobre el texto, si escribo algo en el documento esta escritura queda atras de de la iformacion del repote si presiono enter para saltar de linea no pasa nada solo a el texto que esta atras de la información, por favor si alguien tiene idea de como hacer que un reporte cristal sea totalmente editable como si fuese un documento normal de word le agredeciria muchisimo, ya no se que hacer y necesito una ayuda de como solucionarlo. Gracias yo utizo  .net 2005

=(

Ayudaaa

Valeria Lozano

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Thursday, August 11, 2011 5:46 PM

Ojala alguien me pueda ayudar... Estoy generando reportes con Crystal Reports dentro de VisualStudioNet 2008, desde el ambiente de desarrollo (o sea mi maquina) funcionan bien, ya que tengo privilegios de administrador, sin embargo cuando lo publico en el servidor de producción, me solicita la clave de acceso al servidor para poder visualizar el reporte. Segun he leido es porque esta escribiendo el temporal del pdf en C:\windows/temp, y aparentemente no tiene permisos para hacerlo. Ya genere la carpeta c:\temp y direccione las variables de ambiente a esa carpeta como algunos foros lo suguieren, le di permisos al administrador, al iis_iusrs, al aspnet usr, al usuarios net bussines objsct. Ya no se que más hacer. Alguien podrá ayudarme... Saludos

Noemi VC

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Wednesday, October 10, 2012 9:11 PM

Hola te consulto por lo sgt.

yo genero varios reportes crystal reports, los cuales loe he escogido por medio de checks, pero quisiera generarlos en un solo archivo PDF, osea yo quiero que si escojo 35 reportes, el archivo PDF me salga con los 35 reportes en uno solo, un solo archivo con 35 hojas, aunque trato de hacer que los exporte con el ExportToHttpResponse, me sale un error crystalrReport,Engine,ReportDocument no contiene una definicion para ExportToHttpResponse,

sheccid65

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Wednesday, October 10, 2012 9:52 PM

Estimado @sheccid65

Interesante la propuesta de "unir PDF". Nunca la hice pero si es interesante unir estos bytes de PDF en uno solo.

Para esto no creo que vas a necesitar utilizar el método ExportToStream para obtener el stream y luego con el arreglo de byte[] de cada uno poder "unir los pdf"

Mira la idea por aqui:

stackoverflow.com/.../merging-memory-streams-to-create-a-http-pdf-response-in-c-sharp

PD: Otra alternativa seria poder descargar todo junto en un archivo .zip (algo de esto si lo hice)

Avisame si te sirvio de ayuda o guia.

José A. Fernández

# re: Exportar Crystal Report Document a Excel, PDF, Word, RichText o HTML desde código@ Wednesday, October 17, 2012 6:38 PM

Hola, gracias por tú ayuda

Encontré un código en internet el cual me genera archivos pdf simultaneos, pero tengo unos inconvenientes

1. No genera la selección que yo quiero, de hecho el me muestra toda la información que hay en la base de datos.

2. Solo me muestra la cabecera en la primera página, en las sgts hojas las quita.

3. cuando imprime lo hace en forma vertical, la quiero horizontal.

En dettalle.

Yo lo que quiero es hacer una impresión por lotes, el usuario escoge por medio de checksbox los reportes que quiere imprimir(esto es en una página web, por lo que he leido no puedo imprimir directamente en la impresora del cliente, así que por esa razón genero el pdf.

pero deberían salir los reportes que escojo con el check)

Código.

protected void btnImprimir_Click(object sender, EventArgs e)

   {

      // int i = 1;

       foreach (GridViewRow row in GridView1.Rows)

       {

           bool isChecked = ((CheckBox)row.FindControl("check1")).Checked;

           if (isChecked)

           {

               // Response.Write("<script language=javascript>alert(lblOTH.Text);</script>");

               //lblOTH.Text = GridView1.Rows[0].Cells[1].ToString();

               lblOTH.Text = row.Cells[0].Text;

               Session["criterio"] = "{OrdenesTrabajo.IdOrdenTrabajo}=" + lblOTH.Text;

               Session["informe"] = "OrdenTrabajo.rpt";

               //Response.Redirect("mreporte.aspx");

               this.orpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

               string strTemp = Session["criterio"].ToString();

               strTemp = strTemp.Replace("=0", "=false");

               strTemp = strTemp.Replace("= 0", "=false");

               Session["criterio"] = strTemp;

               string CaminoReporte;

               Database crDatabase;

               Tables crTables;

               TableLogOnInfo crTableLogOnInfo;

               ConnectionInfo crConnectionInfo;

               CaminoReporte = ConfigurationManager.AppSettings["CaminoReportes"];

               //System.Drawing.Printing.PrinterSettings ImpresoraActual;

               if (Session["informe"] == null)

               {

                   lblError.Text = "Informe no existe";

                   return;

               }

               CaminoReporte += Session["informe"].ToString();

               orpt.Load(@CaminoReporte);

               crConnectionInfo = new ConnectionInfo();

               crConnectionInfo.ServerName = ConfigurationManager.AppSettings["Servidor"];

               crConnectionInfo.DatabaseName = ConfigurationManager.AppSettings["Bd"];

               crConnectionInfo.UserID = ConfigurationManager.AppSettings["Usuario"];

               crConnectionInfo.Password = ConfigurationManager.AppSettings["Clave"];

               //Get the tables collection from the report object

               crDatabase = orpt.Database;

               crTables = crDatabase.Tables;

               Logon(orpt, ConfigurationManager.AppSettings["Servidor"], ConfigurationManager.AppSettings["Bd"], ConfigurationManager.AppSettings["Usuario"], ConfigurationManager.AppSettings["Clave"]);

               orpt.RecordSelectionFormula = Session["criterio"].ToString();

//Este es el código de internet

ExportOptions exp = new ExportOptions();

               exp = orpt.ExportOptions;

               exp.ExportFormatType = ExportFormatType.PortableDocFormat;

               exp.FormatOptions = new PdfRtfWordFormatOptions();

               ExportRequestContext req = new ExportRequestContext();

               req.ExportInfo = exp;

               System.IO.Stream st;

               st = orpt.FormatEngine.ExportToStream(req);

               Response.ClearContent();

               Response.ClearHeaders();

               Response.ContentType = "application / pdf";

               Response.AddHeader("Content-Disposition", "inline; filename=OrdenTrabajo.pdf");

               Byte[] b = new byte[st.Length];

               st.Read(b, 0, (int)st.Length);

               Response.BinaryWrite(b);

               Response.Flush();

               Response.End();

sheccid65