如果你想一個SSRS報表導出爲PDF這裏是一些代碼,我用生成報告到MemoryStream,但你可以將它保存到文件,如果你想
所有變量結束「VAR」,並串
我希望這有助於你
Dim ServerUrl As New Uri(ReportServerUrlVAR)
Dim ReportViewer1 As New ReportViewer
ReportViewer1.ServerReport.ReportServerUrl = ServerUrl
ReportViewer1.ServerReport.ReportPath = "/" & ReportsPathNameVAR & "/" & ReportNameVAR
ReportViewer1.ServerReport.ReportServerCredentials.NetworkCredentials = New Net.NetworkCredential(ReportServiceUserNameVAR, m_Datamanager.Settings.ReportServicePasswordVAR)
ReportViewer1.RefreshReport()
Dim mimeType As String = String.Empty
Dim encoding As String = String.Empty
Dim extension As String = String.Empty
Dim deviceInfo As String = String.Empty
Dim streamids As String() = Nothing
Dim warnings As Warning() = Nothing
Dim format As String = "PDF"
deviceInfo = "<DeviceInfo>" + "<SimplePageHeaders>True</SimplePageHeaders>" + "</DeviceInfo>"
Dim bytes As Byte() = ReportViewer1.ServerReport.Render(format, deviceInfo, mimeType, encoding, extension, streamids, warnings)
Dim ms As New MemoryStream(bytes)
'Create Email
Dim SmtpServer As New SmtpClient
Dim mail As New MailMessage
If EmailUserNameVAR <> String.Empty Then
SmtpServer.Credentials = New Net.NetworkCredential(EmailUserNameVAR, EmailPasswordVAR)
End If
SmtpServer.Port = EmailServerPortVAR
SmtpServer.Host = EmailServerVAR
mail = New MailMessage()
mail.From = New MailAddress(EmailFromAddressVAR)
mail.To.Add(m_EmailAddress)
Dim NewAttach As New Attachment(ms, ReportNameVAR & ".pdf")
mail.Attachments.Add(NewAttach)
mail.Subject = "Automatic Email Report: " & ReportNameVAR
mail.Body = "This message is an Automatic Email Report: " & ReportNameVAR & vbCrLf & "Please Check the Attached File."
SmtpServer.Send(mail)
Application.ExitThread()
這是否幫助?或者,如果您需要更多信息,我可能會提供幫助。 – craigster