Central_IT Ответов: 1

Отчет и использование Sql (SSRS) VB.NET код для сохранения отчета в формате PDF


Мне нужно взять существующий отчет SQL (SSRS) и использовать его VB.NET код для сохранения отчета в формате PDF.

Я создал таблицу записей, и каждая запись имеет тип отчета. Нет проблем, если я хочу создать один и показать его. То, что я хочу сделать, - это иметь цикл, который проходит через таблицу, выбирает запись/тип и создает PDF-файл и помещает его в определенную область папок.

Нет проблем с получением записи из таблицы и отображением ее, но я хочу сохранить в формате pdf в определенном месте папки для каждой из записей.

Именно с созданием отчета в формате PDF у меня возникли проблемы

Любая помощь в правильном направлении была бы очень кстати.

Ниже отображается нормально, но я хочу создать PDF-файл.

Что я уже пробовал:

Dim ParamData As New Dictionary(Of String, String)

ParamData.Add("IDNumber", 1234)

ShowForm("ReportName", ParamData, 1, "LocationOfReports")

  Public Sub ShowForm(ByVal strReportName As String, ByVal ParamData As Dictionary(Of String, String), ByVal intParamCount As Integer, Optional ByVal strReportPath As String = "ATest")

        Me.Show()

        Me.ReportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Remote
        Me.ReportViewer1.ServerReport.ReportServerCredentials.NetworkCredentials = System.Net.CredentialCache.DefaultCredentials
        Me.ReportViewer1.ServerReport.ReportServerUrl = New Uri("http://ReportServer_Test")
        Me.ReportViewer1.ServerReport.ReportPath = "/" & strReportPath & "/" & strReportName '"ATester"

        Me.ReportViewer1.Dock = DockStyle.Fill

        Me.Controls.Add(Me.ReportViewer1)

        If intParamCount > 0 Then
            Dim params(intParamCount - 1) As Microsoft.Reporting.WinForms.ReportParameter

            If ParamData.Keys.Count > 0 Then
                Dim intParamKey As Integer = 0
                For Each elemItem In ParamData
                    params(intParamKey) = New Microsoft.Reporting.WinForms.ReportParameter(elemItem.Key, elemItem.Value)
                    intParamKey = intParamKey + 1
                Next
            End If

            ReportViewer1.ServerReport.SetParameters(params)
        End If

        Me.ReportViewer1.RefreshReport()


    End Sub

1 Ответов

Рейтинг:
0

A_Griffin

Вам нужно будет использовать библиотеку PDF - PDFSharp[^] является бесплатным, хотя я на самом деле не использую его сам.

iTextSharp[^] является популярным (который я использовал, и это хорошо), но не является бесплатным для коммерческого использования.