Exportando documentos em Crystal Reports .NET
Veja nesse artigo como exportar um relatório em Crystal Reports para um arquivo de formato .doc, .xls ou mesmo .PDF.
Frequentemente 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 imprimi-lo.
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 Figura 1.
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, como mostra a Listagem 1.
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
Antes de iniciar o código da função ExportarDocumento devemos 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. Já 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 últim,o escreveremos o código para o evento click dos botões que serão responsáveis por exportar os relatórios conforme a Listagem 2.
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
Execute sua aplicação e veja o resultado é como o da Figura 2.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo