如何在本地系统中将Crystal报表导出为PDF?

时间:2012-10-18 12:10:39

标签: crystal-reports export-to-pdf

我需要以PDF格式将水晶报告导出到本地系统。

我使用了ExporttoDesk但它保存在Server.I需要让用户可以使用。

可能吗?

我使用ExporttoStream。但它也不适用于我。

请告诉我实现这一目标的方法。

谢谢, 勒凯什。

3 个答案:

答案 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

经过测试和工作。

相关问题