.net - 如何在VB.NET中以编程方式将 Crystal 报表导出为PDF

标签 .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

结束类

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

请帮忙。

最佳答案

终于从here找到了解决方法

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

cryRpt.SetDatabaseLogon("user", "password", "server", "database")

关于.net - 如何在VB.NET中以编程方式将 Crystal 报表导出为PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14335966/

相关文章:

c# - 为什么使用 Internet SetCookie 在 Web 浏览器控件上设置 cookie 的这段代码不起作用?

c# - 暂停/恢复 PC 时,让 Windows 服务停止和正常启动的正确方法是什么?

.net - 为什么即使请求执行低于其限制,请求排队仍然很高?

mysql - 如何更新学生成绩联结表中的行

c# - VirtualAlloc 和 StdCall

java - I-net Clear 报告的 17 Engine 类 setData 未保持数据参数的排序顺序

c# - "x => { throw .. }"的 Lambda 推断匹配重载方法中的 Func<T,Task>?

c# - 如何将此 C# 代码转换为 Visual basic

crystal-reports - Crystal Reports如果为true,则返回数字,否则返回NULL

c# - 通过 Crystal Web 服务以编程方式在 Crystal 服务器上设置 Crystal Report 的数据源