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:
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
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.
Figura 2 – Documentos Exportados.

Space do autor

download
Estudo comparativo entre banco de dados IBM Informix e Microsoft SQL


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