none
Exportar Reporte (CrystalReport) Directamente RRS feed

  • Pregunta

  • Hola...

    Como puedo hacer para Exportar un reporte  a PDF  directamente  ???

    Lo que deseo hacer es  un boton que me exporte  para recuperar el path del archivo y adjuntarlo  a un correo automaticamente (aplicacion de escritorio VB.NET)

    Me imagino que ese path lo podria recuperar desde el cuadro de dialogo que se abre para seleccionar la ubicacion del archivo a guardar....


    EFRAIN MEJIAS C VALENCIA - VENEZUELA


    jueves, 22 de agosto de 2013 3:53

Todas las respuestas

  • solucione  mi problema de esta manera

    Imports CrystalDecisions.Windows.Forms
    Imports CrystalDecisions.CrystalReports.Engine

    Private Sub CargarRequisicion()
            numero = TextBox1.Text
            Dim SQL As String = "SELECT A.numero , CONVERT(CHAR(10),A.fecharequisicion,105)AS fecha, A.fechaaprobacion,A.departamento AS Proceso,A.nombresolicitante,A.numerosolicitud ,A.razonsolicitud,A.elaboradopor,A.aprobadopor, CAST(B.lineaorden AS INT) AS  Item , B.codigoarticulo AS CodigoArticulo ,B.descripcionarticulo AS Descripcion,B.codigoequipo as IdEquipo , B.nombreequipo ,B.cantidadarticulo AS Cantidad , B.unidadmedida AS UM ,B.nombreproveedor AS Proveedor,B.Observaciones,C.elaboradapor as ElaboradoPorSolicitud  FROM invrequisicion A ,  invrequisiciondetalle B ,invsolicitud C WHERE  A.numero=@numero AND B.numero= @numero AND C.numerosolicitud=@numerosolicitud ORDER BY B.lineaorden ASC"
            Dim comando As New SqlCommand(SQL, conexion)
            Try

                If Not (numero = "") Then
                    comando.Parameters.AddWithValue("@numero", numero)
                    comando.Parameters.AddWithValue("@numerosolicitud", numerosolicitud)
                    Dim daDatos As New SqlDataAdapter(comando)
                    Dim dtDatos As New DataTable()
                    comando.Connection.Open()
                    daDatos.Fill(dtDatos)
                    Dim reporte As New CrystalReport1()
                    reporte.Load(Application.StartupPath & "CrystalReport1.rpt")
                    reporte.SetDataSource(dtDatos)
                    CrystalReportViewer1.ReportSource = reporte
                    comando.Connection.Close()

      Dim rpt As ReportDocument = reporte
            rpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, "Mi Path" & "NombreArchivo" & ".pdf")

                End If
            Catch ex As Exception
                comando.Connection.Close()
                MessageBox.Show("ERROR , NO EXISTEN DATOS DE LA RQ" & ex.ToString())
            End Try
        End Sub

               
    • Propuesto como respuesta Efrain Mejias jueves, 22 de agosto de 2013 13:23
    jueves, 22 de agosto de 2013 13:22
  • solucione  mi problema de esta manera

    Imports CrystalDecisions.Windows.Forms
    Imports CrystalDecisions.CrystalReports.Engine

    Private Sub CargarRequisicion()
            numero = TextBox1.Text
            Dim SQL As String = "SELECT A.numero , CONVERT(CHAR(10),A.fecharequisicion,105)AS fecha, A.fechaaprobacion,A.departamento AS Proceso,A.nombresolicitante,A.numerosolicitud ,A.razonsolicitud,A.elaboradopor,A.aprobadopor, CAST(B.lineaorden AS INT) AS  Item , B.codigoarticulo AS CodigoArticulo ,B.descripcionarticulo AS Descripcion,B.codigoequipo as IdEquipo , B.nombreequipo ,B.cantidadarticulo AS Cantidad , B.unidadmedida AS UM ,B.nombreproveedor AS Proveedor,B.Observaciones,C.elaboradapor as ElaboradoPorSolicitud  FROM invrequisicion A ,  invrequisiciondetalle B ,invsolicitud C WHERE  A.numero=@numero AND B.numero= @numero AND C.numerosolicitud=@numerosolicitud ORDER BY B.lineaorden ASC"
            Dim comando As New SqlCommand(SQL, conexion)
            Try

                If Not (numero = "") Then
                    comando.Parameters.AddWithValue("@numero", numero)
                    comando.Parameters.AddWithValue("@numerosolicitud", numerosolicitud)
                    Dim daDatos As New SqlDataAdapter(comando)
                    Dim dtDatos As New DataTable()
                    comando.Connection.Open()
                    daDatos.Fill(dtDatos)
                    Dim reporte As New CrystalReport1()
                    reporte.Load(Application.StartupPath & "CrystalReport1.rpt")
                    reporte.SetDataSource(dtDatos)
                    CrystalReportViewer1.ReportSource = reporte
                    comando.Connection.Close()

      Dim rpt As ReportDocument = reporte
            rpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, "Mi Path" & "NombreArchivo" & ".pdf")

                End If
            Catch ex As Exception
                comando.Connection.Close()
                MessageBox.Show("ERROR , NO EXISTEN DATOS DE LA RQ" & ex.ToString())
            End Try
        End Sub


    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    • Propuesto como respuesta Efrain Mejias jueves, 22 de agosto de 2013 14:23
    jueves, 22 de agosto de 2013 14:11