2017-01-05 14 views
-2

1つのパラメータを受け付ける既存のCrystalレポートがあります。 VB.NetまたはC#を使用してレポートを開き、パラメータを渡してからPDFとしてエクスポートしたい。vb.netは、既存のCrystalレポートとエクスポートにパラメータを渡します。

また、これは単に起動されるコンソールアプリケーションである必要があります。これはウェブサイト上にある必要はありません。 UIは必要ありません。

ご協力いただければ幸いです。最も最近の試みから

コード:

Imports CrystalDecisions.CrystalReports.Engine 
Imports CrystalDecisions.ReportSource 
Imports CrystalDecisions.shared 
Imports CrystalDecisions.Windows.Forms 
Imports System.Windows.Forms 
Imports CrystalDecisions.Web 
Imports CrystalDecisions.CrystalReports 
Imports System.IO 
Imports System.Net 

Module Module1 
Sub main() 
    Dim myReport As New ReportDocument 
    Dim crystalreportviewer As New CrystalReportViewer 
    Dim param1Fileds As New CrystalDecisions.Shared.ParameterFields 
    Dim param1Field As New CrystalDecisions.Shared.ParameterField 
    Dim param1Range As New CrystalDecisions.Shared.ParameterDiscreteValue 
    Dim CRYRpt1 As New CrystalReportViewer 

    Dim myParams = New ParameterFields() 
    Dim myParam = New ParameterField() 
    Dim myDiscreteValue = New ParameterDiscreteValue() 

    myParam.ParameterFieldName = "@SerialNumber" 
    myDiscreteValue.Value = "DA1714625" 
    myParam.CurrentValues.Add(myDiscreteValue) 

    myParams.Add(myParam) 

    Dim cryRpt As ReportDocument 

    cryRpt = New ReportDocument() 

    cryRpt.Load("c:\users\cjniva\6850.rpt") 


    Dim CrExportOptions As ExportOptions 
    Dim CrDiskFileDestinationOptions As New DiskFileDestinationOptions() 
    Dim CrFormatTypeOptions As New PdfRtfWordFormatOptions() 
    CrDiskFileDestinationOptions.DiskFileName = "C:\\Data\\Data1\\DemoDates.pdf" 

    CrExportOptions.ExportDestinationType = ExportDestinationType.DiskFile 
    CrExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat 
    CrExportOptions.DestinationOptions = CrDiskFileDestinationOptions 
    CrExportOptions.FormatOptions = CrFormatTypeOptions 
    cryRpt.Export() 

End Sub 

最新バージョン:ここで

Sub main() 

    'Private Sub RunReport() 
    Dim report As New ReportDocument 
    report.Load("c:\users\cjniva\desktop\6850.rpt") 
    report.SetDatabaseLogon("dba", "pw") 
    report.SetParameterValue("SerialNumber", "DA3EEXQTO") 
    'report.ReadRecords() 
    Dim exportFilename As String 
    exportFilename = "test.pdf" 
    ExportCrystalReport(report, ExportFormatType.PortableDocFormat, exportFilename) 
End Sub 

Private Sub ExportCrystalReport(ByRef report As ReportDocument, ByVal exportType As CrystalDecisions.Shared.ExportFormatType, ByVal exportFilename As String) 
    Dim expFilename As String = Path.Combine("c:\users\cjniva\desktop\", exportFilename) 
    Dim diskOpts As CrystalDecisions.Shared.DiskFileDestinationOptions = CrystalDecisions.Shared.ExportOptions.CreateDiskFileDestinationOptions() 
    diskOpts.DiskFileName = expFilename 
    Dim exportOpts As CrystalDecisions.Shared.ExportOptions = New CrystalDecisions.Shared.ExportOptions() 
    exportOpts.ExportFormatType = exportType 
    exportOpts.ExportDestinationOptions = diskOpts 
    exportOpts.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile 
    report.Export(exportOpts) 

End Sub 
+0

偉大なコードがありますか? CRに必要なdllをダウンロードしましたか?これは完全に実行可能です。 – OneFineDay

+0

元の投稿を参照してください – crystalnoob

答えて

0

は、輸出の一部を含む、シンプルなレイアウトです。

Private Sub RunReport() 
    report.Load(filename) 
    report.SetDatabaseLogon(?,?,?,?) 
    report.SetParameterValue("nameOfParam", paramValueOrVariable) 
    report.ReadRecords() 
    Dim exportFilename As String = {some path output name.pdf} 
    ExportCrystalReport(report, ExportFormatType.PortableDocFormat, exportFilename) 
    report.close() 
    report.Dispose() 
End Sub 

Private Sub ExportCrystalReport(ByRef report As ReportDocument, exportType As CrystalDecisions.Shared.ExportFormatType, exportFilename As String) 
    Dim expFilename As String = Path.Combine({someDirectory}, exportFilename) 
    Dim diskOpts As CrystalDecisions.Shared.DiskFileDestinationOptions = CrystalDecisions.Shared.ExportOptions.CreateDiskFileDestinationOptions() 
    diskOpts.DiskFileName = expFilename 
    Dim exportOpts As CrystalDecisions.Shared.ExportOptions = New CrystalDecisions.Shared.ExportOptions() 
    exportOpts.ExportDestinationOptions = diskOpts 
    exportOpts.ExportFormatType = exportType 
    exportOpts.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile 
    report.Export(exportOpts) 
End Sub 
+0

「報告する」はどのように宣言すべきですか?水晶またはレポートオブジェクトとして? – crystalnoob

+0

また、dirTiburonは宣言されていません。それは何でしょうか? – crystalnoob

+0

それは私が使っているディレクトリでした。ファイルを出力するマシン上のディレクトリを使用してください。 – OneFineDay

関連する問題