Reporting servis ile oluşturulan raporu programatik olarak render etmek:
Parametreler:
- FileFormat: XML, NULL, CSV, IMAGE, PDF, HTML4.0, HTML3.2, MHTML, EXCEL, HTMLOWC
- reportPath: /MyReportPath/MyReport
- Parameters: Raporun aldığı parametreler.
- NewFilePathAndName: FileFormat ile belirttiğimiz tip ile render edilen raporu kaydetme konumu ve adı.
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.IO
Imports reportingservice 'Reportin Service web referansi
Public Class ReportingServiceHelper
Public Shared Sub Render(ByVal FileFormat As String, _
ByVal reportPath As String, _
ByVal parameters() As ParameterValue, _
ByVal NewFilePathAndName As String)
Dim rs As New reportingservice.ReportingService
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
rs.Credentials = New System.Net.NetworkCredential("UserName", _
"Password", "Domain")
' Render parametreleri
Dim result As Byte() = Nothing
Dim historyID As String = Nothing
Dim devInfo As String = "<DeviceInfo><Encoding>ISO 8859-8" & _
"</Encoding></DeviceInfo>"'Türkçe için
Dim credentials As DataSourceCredentials() = Nothing
Dim showHideToggle As String = Nothing
Dim encoding As String = Nothing
Dim mimeType As String = Nothing
Dim warnings() As reportingservice.Warning = Nothing
Dim reportHistoryParameters As ParameterValue() = Nothing
Dim streamIDs As String() = Nothing
Dim sh As New SessionHeader()
rs.SessionHeaderValue = sh
rs.RequestEncoding = System.Text.Encoding.UTF8'Türkçe için
result = rs.Render(reportPath, FileFormat, historyID, devInfo, parameters, _
credentials, showHideToggle, encoding, mimeType, _
reportHistoryParameters, warnings, streamIDs)
sh.SessionId = rs.SessionHeaderValue.SessionId
Dim stream As FileStream = File.Create(NewFilePathAndName, result.Length, _
FileOptions.RandomAccess)
stream.Write(result, 0, result.Length)
stream.Close()
End Sub
End Class
d960576f-7687-4dd2-9895-f0f8e760562b|0|.0