【发布时间】:2012-10-18 12:10:38
【问题描述】:
我需要以PDF格式将水晶报表导出到本地系统。
我使用了ExporttoDesk,但它保存在服务器中。我需要将其提供给用户。
有可能吗?
我使用了ExporttoStream。但它也不适合我。
请告诉我实现这一目标的方法。
谢谢, 拉克什。
【问题讨论】:
标签: crystal-reports export-to-pdf
我需要以PDF格式将水晶报表导出到本地系统。
我使用了ExporttoDesk,但它保存在服务器中。我需要将其提供给用户。
有可能吗?
我使用了ExporttoStream。但它也不适合我。
请告诉我实现这一目标的方法。
谢谢, 拉克什。
【问题讨论】:
标签: crystal-reports export-to-pdf
点击按钮试试这个
try
{
ExportOptions CrExportOptions ;
DiskFileDestinationOptions CrDiskFileDestinationOptions = new DiskFileDestinationOptions();
PdfRtfWordFormatOptions CrFormatTypeOptions = new PdfRtfWordFormatOptions();
CrDiskFileDestinationOptions.DiskFileName = "c:\\csharp.net-informations.pdf";
CrExportOptions = cryRpt.ExportOptions;
{
CrExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
CrExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
CrExportOptions.DestinationOptions = CrDiskFileDestinationOptions;
CrExportOptions.FormatOptions = CrFormatTypeOptions;
}
cryRpt.Export();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
阅读其解释here
【讨论】:
我们有参数怎么办?
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim Report As ReportDocument = New ReportDocument()
Report.Load(Server.MapPath("~/CrystalReport.rpt"))
Report.SetDatabaseLogon("sa", "######", "IT250WS", "demo")
CrystalReportViewer1.ReportSource = Report
End Sub
Protected Sub btnPDF_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim Report As ReportDocument = New ReportDocument()
Report.Load(Server.MapPath("~/CrystalReport.rpt"))
Report.SetParameterValue("@EmpId", 1)
Report.SetDatabaseLogon("sa", "######", "IT250WS", "demo")
Response.Buffer = False
Response.ClearContent()
Response.ClearHeaders()
Report.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, True, "File_Name")
Response.[End]()
End Sub
【讨论】:
答案为时已晚,但可能对像我这样的其他人有用。
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
protected void Page_Load(object sender, EventArgs e)
{
ReportDocument pdfReport = new ReportDocument();
pdfReport.Load(Server.MapPath("ExportToPdf.rpt"));
pdfReport.SetDatabaseLogon("amitjain","password", @"AMITJAIN\SQL", "Northwind");
CrystalReportViewer1.ReportSource = pdfReport;
}
protected void btnExport_Click(object sender, EventArgs e)
{
ReportDocument pdfReport = new ReportDocument();
pdfReport.Load(Server.MapPath("ExportToPdf.rpt"));
pdfReport.SetDatabaseLogon("user", "password", @"AMITJAIN\SQL", "Northwind");
Response.Buffer = false;
Response.ClearContent();
Response.ClearHeaders();
pdfReport.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, true, "Employees");
Response.End();
}
http://csharpdotnetfreak.blogspot.com/2012/01/export-crystalreports-to-pdf-word-excel.html
经过测试并正常工作。
【讨论】: