2012-03-11 2 views
0

Я хочу получить отчет SSRS в формате pdf (или любого другого портативного формата) автоматически. Я имею в виду, когда пользователь нажимает кнопку, вместо просмотра отчета в режиме отчета, его следует преобразовать в pdfОтчет о выдаче SSRS в виде pdf

Пожалуйста, при необходимости сообщите мне код Vb.Net.

Любая помощь будет приветствоваться!

Thanks

ответ

1

Пожалуйста, попробуйте этот код.

Private Sub GenerateReport(ParamList as hashtable) 
     rs.Credentials = System.Net.CredentialCache.DefaultCredentials 
     rsExec.Credentials = System.Net.CredentialCache.DefaultCredentials 

     Dim historyID As String = Nothing 
     Dim deviceInfo As String = Nothing 
     Dim format As String = "PDF" 
     Dim results As Byte() 
     Dim encoding As String = String.Empty 
     Dim mimeType As String = String.Empty 
     Dim extension As String = String.Empty 
     Dim warnings As ReportExecution.Warning() = Nothing 
     Dim streamIDs As String() = Nothing 
     Dim filename As String = "C:\MyReport.pdf"  ' Change to where you want to save 
     Dim _reportName As String = "/Sales/MyReport" ' Change to be your report 
     Dim _historyID As String = Nothing 
     Dim _forRendering As Boolean = False 
     Dim _values As ReportingService.ParameterValue() = Nothing 
     Dim _credentials As ReportingService.DataSourceCredentials() = Nothing 
     Dim _parameters As ReportingService.ReportParameter() = Nothing 

     _parameters = rs.GetReportParameters(_reportName, _historyID, _forRendering, _values, _credentials) 

     Dim ei As ReportExecution.ExecutionInfo = rsExec.LoadReport(_reportName, historyID) 
     Dim parameters(_parameters.Length - 1) As ReportExecution.ParameterValue 

     for param as integer = 0 to _parameters.count - 1 
      parameters(param) = New ReportExecution.ParameterValue 
      parameters(param).Label = _parameters(param).name 
      parameters(param).Name = _parameters(param).name 
      parameters(param).Value = ParamList(param) 
     next 

     rsExec.SetExecutionParameters(parameters, "en-us") 
     results = rsExec.Render(format, deviceInfo, extension, mimeType, encoding, warnings, streamIDs) 

     Dim stream As New System.IO.FileStream(filename, IO.FileMode.OpenOrCreate) 

     stream.Write(results, 0, results.Length) 
     stream.Close() 
    End Sub 
+0

ОК, спасибо! Я буду ждать его. –

+0

У вас есть шанс найти код для меня? –

Смежные вопросы