Exporting a report without preview in Excel format

Imports FirebirdSql.Data.FirebirdClient
Imports Microsoft.Reporting.WinForms
Imports System.IO
Private Sub EsportaExcelToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EsportaExcelToolStripMenuItem.Click

If Me.TextBox1.Text = "" Or Me.TextBox2.Text = "" Then
MsgBox("Pereform before the search", MsgBoxStyle.Critical)
Exit Sub
End If

Label1.Visible = True
'To visualize the label
Me.Refresh()

Report(My.Application.Info.DirectoryPath & "\EsportaExcel.rdl", "Biblioteca")
EsportaExcel()
'This statement is necessary to display e new report after precedent displaying
RepTipo.ReportViewer1.Reset()

Label1.Visible = False
End Sub

Private Sub Report(ByVal filename As String, ByVal table As String)


Dim RepDS As New ReportDataSource

Dim dv As New System.Data.DataView

dv = DataSet1.Tables(table).DefaultView

RepDS.Name = "DataSource1"
RepDS.Value = dv
RepTipo.ReportViewer1.LocalReport.DataSources.Clear()
RepTipo.ReportViewer1.LocalReport.DataSources.Add(RepDS)

RepTipo.ReportViewer1.LocalReport.ReportPath = filename

End Sub

Private Sub EsportaExcel()

Dim warnings As Warning() = Nothing
Dim streamids As String() = Nothing
Dim mimeType As String = Nothing
Dim encoding As String = Nothing
Dim extension As String = Nothing
Dim bytes As Byte()

bytes = RepTipo.ReportViewer1.LocalReport.Render("Excel", _
Nothing, mimeType, _
encoding, extension, streamids, warnings)

Dim fs As New FileStream("c:\outputvb.xls", FileMode.Create)
fs.Write(bytes, 0, bytes.Length)
fs.Close()

End Sub

0 comments:

Newer Post Older Post