Wednesday, January 4, 2012

ASP.NET Crystal Reports Export PDF

จากบทความ  สร้างรายงานย่อย(Subreport) บน Crystal Reports Basic for Visual Studio 2008  มีเพื่อนคนหนึ่ง ถามว่าไม่อยากกดปุ่ม พิมพ์บน Toolbar อยากได้แบบ กดปุ่มแล้ว Export เป็น PDF เลย  เราสามารถเพิ่มโค้ดนิดหน่อย ก็สามารถ Export ได้ ดังนี้

Overview
ให้เพิ่มปุ่ม Export PDF อีกหนึ่งปุ่ม, จากนั้นทำการใส่เงื่อนไขรายงานตามต้องการ แล้วกดดูรายงาน
cr1cr2

เมื่อได้รายงานที่ต้องการแล้ว กดปุ่ม Export PDF, แล้วเลือก Save as
cr3cr4

บันทึกไว้ในที่ต้องการ, เมื่อโหลดไฟล์ PDF ไว้บนเครื่องเราเรียบร้อยแล้ว กด Open Folder
cr5cr6

เราก็จะเห็นไฟล์รายงาน PDF,
cr7
ลองเปิดขึ้นมาดู
cr8

โค้ดบนปุ่ม Export PDF:
protected void btExportPDF_Click(object sender, EventArgs e)
{
    ReportDocument repDoc = this.Session["ReportSource"] as ReportDocument;
   
    Response.Buffer = false;
    Response.ClearContent();
    Response.ClearHeaders();
    try
    {
        repDoc.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, true, “ProductDetail”);
    }
    catch (Exception ex)
    {
        Response.Write(ex.Message);
    }
}

Export this report
บน toolbar ของ CrystalReportViewer มีปุ่ม Export image
โดยสามารถ Export รายงานไปเป็นฟอร์แมตต่างๆได้ ดังนี้image
เราสามารถอนุญาตให้ผู้ใช้งาน Export ได้เฉพาะ PDF ได้ ผ่านเมธอด AllowedExportFormats ดังนี้
โค้ดดิ้ง:
this.Session["ReportSource"] = rpt;
CrystalReportViewer1.ReportSource = rpt;
CrystalReportViewer1.AllowedExportFormats = (int)(CrystalDecisions.Shared.ViewerExportFormats.PdfFormat);
เมื่อกดปุ่ม Export, จะได้หน้าจอ Export และในรายการ File Format จะเห็นว่า มีเฉพาะ PDF
imageimage

แหล่งข้อมูลดาวน์โหลด:

No comments:

Post a Comment