在 JSP 頁面中使用匯出控制項或檢視器之前,必須先取得報表來源。
報表來源是代表報表單一執行個體的物件,可供匯出控制項和檢視器使用。Java 報表元件、頁面伺服器和 RAS 均可用來取得報表來源。
若要使用 Java 報表元件建立報表來源,必須知道要檢視或匯出的報表位置。報表位置是藉由使用相對路徑或絕對路徑來指定的。此外,若要 Java 報表元件正確地擷取報表資料,報表的資料來源必須透過 JNDI 正確指定,或者報表必須根據 JDBC 資料來源而設計。
有兩個方法可以使用 Java 報表元件以取得報表來源。第一個 (建議使用) 方法是使用 ReportClientDocument 類別取得報表來源。第二個方法是使用 IReportSourceFactory2 類別。
import com.crystaldecisions.reports.sdk.ReportClientDocument;
ReportClientDocument reportClientDoc = new ReportClientDocument();
String report = "/reports/sample.rpt";
reportClientDoc.open(report, 0);
Object reportSource = reportClientDoc.getReportSource();
注意: 上述程式碼中的報表位置,會根據您使用的是相對或絕對路徑而有所不同。使用相對路徑時,上述報表將解析成 <web_app_dir>/WEB
session.setAttribute("reportSource", reportSource);
<%@ page import="com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory" %>
<%@ page import="com.crystaldecisions.sdk.occa.report.reportsource.IReportSourceFactory2" %>
IReportSourceFactory2 rptSrcFactory = new JPEReportSourceFactory();
注意: String report = "/reports/sample.rpt";
注意: Object reportSource = rptSrcFactory.createReportSource(report, request.getLocale());
注意: 上述程式碼中的報表位置,會根據您使用的是相對或絕對路徑而有所不同。使用相對路徑時,上述報表將解析成 <web_app_dir>/WEB
。使用絕對路徑時,上述報表先解析成 <web_app_dir>/WEB
,然後為 /reports/sample.rpt
。
session.setAttribute("reportSource", reportSource);
Business Objects http://www.taiwan.businessobjects.com/ 支援服務 http://www.businessobjects.com/services/support/ |