【问题标题】:Create Individualized PDFs with VB.Net and Crystal Reports使用 VB.Net 和 Crystal Reports 创建个性化 PDF
【发布时间】:2009-09-28 15:00:46
【问题描述】:

我希望能够使用我们 SQL 数据库中的数据,通过 VB.Net 和 Crystal Reports 创建、命名和存储个性化报告(实际上是学校成绩单)。

如果能够使用存储在数据库中的电子邮件地址自动生成个性化的电子邮件,并附上上述PDF报告并发送出去,那就更好了。

以前有没有人尝试过这样的事情?

TIA 的任何帮助/指针!

【问题讨论】:

  • 循环遍历所有学生记录,将唯一的学生 ID 作为参数传递给报告,然后将报告导出为 PDF。将 PDF 附加到邮件中。这可以在~30 LOC 内完成。你具体有什么问题?抱歉,听起来您甚至没有先尝试任何东西就要求提供完整的解决方案。
  • 感谢您的回复。我有点了解整体概念。我已经将 ID 作为参数传递给 ReportViewer 并将报告作为一个大批量生成,然后我只需打印并发送邮件。我只是没有看到任何代码让 Crystal ReportViewer 以编程方式导出 PDF,也不知道如何以编程方式创建电子邮件并附加适当的 PDF。我会做更多的研究。如果它可以在 30 LOC 内完成,那么我想我可以在某处找到一些关于如何将代码放在一起的指针。

标签: vb.net crystal-reports pdf-generation


【解决方案1】:

1。以编程方式创建 PDF

根据水晶的版本,导出功能会类似这样

Dim objApp As CRAXDRT.Application
Dim objRpt As CRAXDRT.Report
Dim Path As String = "MyReport.rpt"

objApp = new CRAXDRT.Application
objRpt = objApp.OpenReport(Path)

With objRpt
   .ExportOptions.FormatType = crEFTPortableDocFormat
   .ExportOptions.DestinationType = crEDTDiskFile
   .ExportOptions.DiskFileName = "MyReport.PDF"
   .ExportOptions.PDFExportAllPages = True
   .Export( False )
End With

2。发送带有 PDF 附件的电子邮件

“发送”部分如下所示:

Dim email As New MailMessage()

''//set the reply to address and the to address
email.To.Add(New MailAddress("student@domain.com", "Studen Name"))
email.ReplyTo = New MailAddress("youremail@domain.com", "Your name")


''//Assign the MailMessage's properties
email.Subject = "Your scorecard file"
email.Body = "Attached is the file you asked<br />Regards!"
email.IsBodyHtml = True

''//attach the file
email.Attachments.Add(New Attachment("c:\temp\myreport.pdf"))


Dim smtp As New SmtpClient
Try
    smtp.Send(email)
Catch ex As Exception
    messageBox("cant send")
End Try

【讨论】:

  • 非常感谢,爱德华多!我应该能够根据我的情况调整这段代码。这些正是我需要的线索。
猜你喜欢
  • 1970-01-01
  • 2010-10-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多