如何建立報表來源

在 JSP 頁面中使用匯出控制項或檢視器之前,必須先取得報表來源。

報表來源是代表報表單一執行個體的物件,可供匯出控制項和檢視器使用。Java 報表元件、頁面伺服器和 RAS 均可用來取得報表來源。

若要使用 Java 報表元件建立報表來源,必須知道要檢視或匯出的報表位置。報表位置是藉由使用相對路徑或絕對路徑來指定的。此外,若要 Java 報表元件正確地擷取報表資料,報表的資料來源必須透過 JNDI 正確指定,或者報表必須根據 JDBC 資料來源而設計。

注意    以下範例使用相對路徑。您也可以透過絕對路徑來使用 Java 報表元件。

建立報表來源物件
  1. 確定您已經匯入 JPEReportSourceFactory 類別和 IReportSourceFactory2 介面。

    <%@ page import="com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory" %>

    <%@ page import="com.crystaldecisions.sdk.occa.report.reportsource.IReportSourceFactory2" %>



  2. 建立新的 JPEReportSourceFactory 物件。

    IReportSourceFactory2 rptSrcFactory = new JPEReportSourceFactory();



  3. 呼叫 IReportSourceFactory2 物件的 createReportSource 方法,將所要報表的路徑和目前的地區設定傳遞給此方法。

String report = "/reports/sample.rpt";

Object reportSource = rptSrcFactory.createReportSource(report, request.getLocale());

上述程式碼中的報表位置,會根據您使用的是相對或絕對路徑而有所不同。使用相對路徑時,上述的報表會解析為 <web_app_dir>/WEB-INF/lib/reports/sample.rpt。使用絕對路徑時,上述的報表會首先解析為 <web_app_dir>/WEB-INF/classes/reports/sample.rpt ,然後再解析為 /reports/sample.rpt

  1. 一旦取得報表來源後,在使用 Java 報表元件 時,就必須將報表來源快取於工作階段變數中。

    session.setAttribute("reportSource", reportSource);



注意    本範例所使用的報表不包含在教學課程中。


Business Objects
http://www.china.businessobjects.com
Support services
http://www.china.businessobjects.com