我想在Crystal Report的ASP.Net上做一个报告。我想,当用户点击打印时,它应该只显示一个浏览器对话框,保存,打开,另存为,应该保存PDF,或者应该出现Crystal Report打印预览,我不想先在Viewer中显示报表然后点击按钮获取打印或PDF,我只想点击asp按钮,我完全了解参数并知道如何制作报告,我的问题只是不显示查看器并从表单中的asp按钮获取报告打印PDF或打印预览对话框。我已经使用.Net的Export方法用于Crystal Report,但它不起作用。
答案 0 :(得分:4)
您可以使用Crystal Report和一段代码生成PDF ....
首先:根据您的要求生成Crystal报告。
第二:使用以下代码生成PDF:
将以下名称空间放在代码页顶部
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
变量声明
Dim CrReport As New CrystalReport1() // Report Name
Dim CrExportOptions As ExportOptions
Dim CrDiskFileDestinationOptions As New DiskFileDestinationOptions()
Dim CrFormatTypeOptions as New PdfRtfWordFormatOptions()
设置目标路径和文件名
CrDiskFileDestinationOptions.DiskFileName = "c:\RichText.pdf"
指定页面范围(可选)
crFormatTypeOptions.FirstPageNumber = 1 // Start Page in the Report
crFormatTypeOptions.LastPageNumber = 3 // End Page in the Report
crFormatTypeOptions.UsePageRange = True
设置导出选项
CrExportOptions = crReport.ExportOptions
With CrExportOptions
// Set the destination to a disk file
.ExportDestinationType = ExportDestinationType.DiskFile
// Set the format to PDF
.ExportFormatType = ExportFormatType.PortableDocFormat
// Set the destination options to DiskFileDestinationOptions object
.DestinationOptions = CrDiskFileDestinationOptions
.FormatOptions = crFormatTypeOptions
End With
捕获导出时出现的任何错误
Try
// Export the report
CrReport.Export()
Catch err As Exception
MessageBox.Show(err.ToString())
End Try
多数民众赞成......现在您已准备好创建报告的PDF文件。
答案 1 :(得分:3)
以下是您正在寻找的解决方案:
http://www.c-sharpcorner.com/UploadFile/mahesh/ExportCRtoPDF10062006161918PM/ExportCRtoPDF.aspx
以下是该网站的引用:
以下步骤将指导您实现相同目标:
将水晶报告(.cr)文件添加到ASP.NET应用程序中。 在页面级别添加报表实例。
Dim report As MyReport = New MyReport
在Page_Init
上填充报告数据Dim ds As DataSet = GetData()
<强> report.SetDataSource(DS)强>
出口报告
report.ExportToHttpResponse(ExportFormatType.PortableDocFormat,Response,False,“ExportedReport”)
如果您希望将报告格式化为其他格式,只需将ExportFormatType枚举值更改为&gt;你想要的格式。
如果您想下载报告,只需将步骤4中&gt; ExportToHttpResponse方法的第三个参数更改为True。