如何在VB.NET中以PDF格式编写水晶报表

5 .net vb.net crystal-reports

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports CrystalDecisions.Web
Imports CrystalDecisions.ReportSource
Imports CrystalDecisions.CrystalReports

Imports System.IO
Imports System.Net
Imports System.Net.Mail

Public Class Form1

Dim cryRpt As New ReportDocument

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    cryRpt.Load("C:\Documents and Settings\Prs1\My Documents\Visual Studio 2008\Projects\myCR\myCR\cr.rpt")
    CrystalReportViewer1.ReportSource = cryRpt

    CrystalReportViewer1.Refresh()

    Try
        Dim CrExportOptions As ExportOptions
        Dim CrDiskFileDestinationOptions As New  _
        DiskFileDestinationOptions()
        Dim CrFormatTypeOptions As New PdfRtfWordFormatOptions()
        CrDiskFileDestinationOptions.DiskFileName = _
                                    "C:\crystalExport.pdf"
        CrExportOptions = cryRpt.ExportOptions
        With CrExportOptions
            .ExportDestinationType = ExportDestinationType.DiskFile
            .ExportFormatType = ExportFormatType.PortableDocFormat
            .DestinationOptions = CrDiskFileDestinationOptions
            .FormatOptions = CrFormatTypeOptions
        End With
        cryRpt.Export()
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try

End Sub
Run Code Online (Sandbox Code Playgroud)

结束班

我尝试了上面的代码.我的项目文件夹中有一个Windows窗体和一个Crystal报表文件(cr.rpt).我正在使用Oracle 10G作为数据库.但是我收到一条错误,说"登录失败".([错误描述]图片:http://pho.to/Zv6t)

请帮忙.

小智 1

终于从这里找到了解决方案

唯一的问题是,我需要在运行时设置数据库凭据才能使水晶报表正常工作。

cryRpt.SetDatabaseLogon("user", "password", "server", "database")
Run Code Online (Sandbox Code Playgroud)