Exportando documentos em Crystal Reports .NET

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (2)  (1)

Como exportar um relatório em Crystal Reports para um arquivo de formato .DOC, .XLS ou mesmo .PDF ?

Exportando documentos em Crystal Reports .NET

 

Freqüentemente no desenvolvimento de nossas aplicações nos deparamos com a seguinte situação: Como exportar um relatório em Crystal Reports para um arquivo de formato .DOC, .XLS ou mesmo .PDF ? O objetivo do artigo é demonstrar o recurso de exportação para alguns tipos de arquivos do Crystal Reports .NET, adicionando à aplicação recursos para que o usuário consiga gerar um arquivo em um determinado formato e imprimir o relatório utilizando o arquivo exportado.

 

Com um projeto criado e uma base de dados que será utilizada para alimentar o relatório, vamos inserir três botões em nossa aplicação, conforme a imagem abaixo:

 

rmedcrnetfig01.jpg 

Figura 1 – Formulário da Aplicação Exemplo.

 

Cada botão será responsável por exportar o relatório em um formato especifico. No modo de código, vamos definir uma nova função chamada ExportarDocumento. Veja o código completo da função na listagem abaixo.

 

Public Function ExportarDocumento(ByVal tipoFormato As Integer) As Boolean

 

        Dim CrExportOptions As [Shared].ExportOptions

 

        Dim CrDiskFileDestinationOptions As New [Shared].DiskFileDestinationOptions()

 

        Dim CrFormatTypeOptions As New [Shared].PdfRtfWordFormatOptions()

 

        Dim crystalReport1 As New CrystalReport1

 

        CrExportOptions = crystalReport1.ExportOptions

 

        crystalReport1.SetDatabaseLogon("sa", "ilheus10")

 

        With CrExportOptions

 

            .ExportDestinationType = [Shared].ExportDestinationType.DiskFile

 

            'rtf

            If tipoFormato = 1 Then

                CrDiskFileDestinationOptions.DiskFileName = "C:\documento.doc"

                .ExportFormatType = [Shared].ExportFormatType.RichText

                'pdf

            ElseIf tipoFormato = 2 Then

                CrDiskFileDestinationOptions.DiskFileName = "C:\documento.pdf"

                .ExportFormatType = [Shared].ExportFormatType.PortableDocFormat

 

            ElseIf tipoFormato = 3 Then

                CrDiskFileDestinationOptions.DiskFileName = "C:\documento.xls"

                .ExportFormatType = [Shared].ExportFormatType.Excel

 

            End If

 

            .FormatOptions = CrFormatTypeOptions

 

            .DestinationOptions = CrDiskFileDestinationOptions

 

        End With

 

        Try

 

            crystalReport1.Export()

 

            Return True

 

        Catch err As Exception

 

            Return False

 

        End Try

End Function

Listagem 1 – Código da função ExportarDocumento.

 

Antes de iniciar o código da função ExportarDocumento, você deve importar a namespace para manipular o CrystalReports:

 

Imports CrystalDecisions

 

O objeto ExportOptions é responsável por determinar como e para onde o arquivo será exportado e recebe duas propriedades para exportação:  o CrDiskFileDestinationOptions e o ExportFormatType. O primeiro determina onde o arquivo será exportado (no nosso exemplo estamos exportando para a unidade C:\ ) e com qual nome e o segundo informa o tipo de arquivo a ser exportado, que dependerá do parâmetro especificado na função: 1 – RTF , 2 – PDF , 3 – XLS .

 

Por último escreveremos o código para o evento click dos botões que serão responsáveis por exportar os relatórios. Veja na listagem abaixo:

 

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        If ExportarDocumento(2) = True Then

            MsgBox("Documento exportado para C:\documento.pdf")

        Else

            MsgBox("Erro ao exportar o documento")

        End If

    End Sub

 

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

        If ExportarDocumento(1) = True Then

            MsgBox("Documento exportado para C:\documento.rtf")

        Else

            MsgBox("Erro ao exportar o documento")

        End If

    End Sub

 

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

        If ExportarDocumento(3) = True Then

            MsgBox("Documento exportado para C:\documento.xls")

        Else

            MsgBox("Erro ao exportar o documento")

        End If

    End Sub

Listagem 2 - Evento Click dos botões.

 

Execute sua aplicação e veja os resultados. Até o próximo.

 

rmedcrnetfig02.jpg 

Figura 2 – Documentos Exportados.

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?