Obrigado por visitar a devmedia.com.br!

Precisamos de você para divulgar nossos vídeos e cursos gratuitos para a comunidade.

Se você gosta da devmedia.com.br por favor dê-nos o seu clique para o Google+ e ajude outros desenvolvedores ao redor do mundo.



Obrigado por seu apoio!
Equipe DevMedia

sair sem compartilhar (x)
DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:

Exportando documentos em Crystal Reports .NET

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.





    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



[Este post ainda não foi associado a uma sequência]
Autor
Regilan Meira Silva

Regilan Meira Silva (regilan@gmail.com), é Bacharel em Ciência da Computação pela Universidade Estadual de Santa Cruz(UESC) em Ilhéus, Bahia e Especialista em Administração de Sistemas da Informação pela Universidade Federal de Lavras em Lavras, Minas Gerais. Trabalha com desenvolvimento de sistemas...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
1   1
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]
Este post está disponível para assinantes da .net Magazine ou para quem possui Créditos DevMedia.

  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 0,00 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ -1,00 (assinante) ou R$ -1,00 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ -1,00
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03