引用http://stackoverflow.com/questions/1652203/save-rdlc-reports-as-pdf-programmatically
用命令Dim bytes() As Byte = Me.ReportViewer1.LocalReport.Render("EXCEL", DBNull.Value.ToString, strMimeType, strEncoding, strFileNameExtension, strStreamIds, warnings)是可以导出Excel
Dim warnings As Microsoft.Reporting.WebForms.Warning() = Nothing
Dim streamids As String() = Nothing
Dim mimeType As String = Nothing
Dim encoding As String = Nothing
Dim extension As String = Nothing
Dim deviceInfo As String
Dim bytes As Byte()
Dim lr As New Microsoft.Reporting.WebForms.LocalReport
deviceInfo = "True"
bytes = ReportViewer1.LocalReport.Render("PDF", deviceInfo, mimeType, encoding, extension, streamids, warnings)
Response.ClearContent()
Response.ClearHeaders()
Response.ContentType = "application/pdf"
Response.BinaryWrite(bytes)
Response.Flush()
Response.Close()
Public Sub CreerFichierRapport(ByVal strNomFichier As String, ByVal strFormat As String)
Dim bytes() As Byte
Dim strDeviceInfo As String = ""
Dim strMimeType As String = ""
Dim strEncoding As String = ""
Dim strExtension As String = ""
Dim strStreams() As String
Dim warnings() As Warning
Dim oFileStream As FileStream
_stream = New List(Of Stream)
Try
bytes = rptViewer1.LocalReport.Render(strFormat, strDeviceInfo, strMimeType, strEncoding, strExtension, strStreams, warnings)
oFileStream = New FileStream(strNomFichier, FileMode.Create)
oFileStream.Write(bytes, 0, bytes.Length)
_stream.Add(oFileStream)
Finally
If Not IsNothing(oFileStream) Then
oFileStream.Close()
oFileStream.Dispose()
End If
End Try
End Sub
Imports Microsoft.Reporting.WebForms
Imports System.IO
Public Class RenderToPDF
Public Sub Save(ByVal viewer As ReportViewer, ByVal savePath As String)
Dim Bytes() As Byte = viewer.LocalReport.Render("PDF", "", Nothing, Nothing, Nothing, Nothing, Nothing)
Using Stream As New FileStream(savePath, FileMode.Create)
Stream.Write(Bytes, 0, Bytes.Length)
End Using
End Sub
End Class
沒有留言:
張貼留言