我需要以PDF
格式将水晶报告导出到本地系统。
我使用了ExporttoDesk
但它保存在Server.I需要让用户可以使用。
可能吗?
我使用ExporttoStream
。但它也不适用于我。
请告诉我实现这一目标的方法。
谢谢, 勒凯什。
答案 0 :(得分:1)
在按钮上单击
尝试此操作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
答案 1 :(得分:0)
有参数时该怎么做?
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
答案 2 :(得分:-2)
对于答案来说已经太晚了,但对于像我这样的人来说这可能是有用的。
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
经过测试和工作。