反饋已提交

網絡繁忙

建立程式報表

1. 概述

1.1 應用場景

由上一小節我們可以瞭解到所謂的網路報表就是指實現了 Reportlet API的類,可以在 Web 瀏覽器端直接存取,展示出我們通程式式設計的報表。

上一節中我們是直接讀取 cpt 範本檔案生成的網路報表,為了您更加理解網路報表的原理,該節介紹如何在程式中建立程式網路報表。如建立一個報表,在 A1 儲存格內插入 FineReport 這個字串,對字串進行格式設定。效果如下:

QQ20250619-104906.png

1.2 實現原理

建立 CreateReportletDemo 類,繼承 com.fr.web.Reportlet 這個抽象類,並實現 createReport(ReportletRequest arg0)方法,最終傳回一個 WorkBook。

//建立一個WorkBook工作薄,在工作薄中插入一個WorkSheet
WorkBook workbook = new WorkBook();
WorkSheet sheet1 = new WorkSheet();
workbook.addReport(sheet1);
return workbook;

由 API 概述 可以知道,worksheet 是由儲存格組成的,因此我們往建立的 sheet1 中插入儲存格,編輯儲存格內容,並設定儲存格格式

建立一個儲存格:

new DefaultCellElement(int column, int row, Object value)

欄號為 0,列號為 0,即 A1 儲存格,值為 FineReport,並設定儲存格的樣式:

TemplateCellElement CellA1 = new DefaultTemplateCellElement(0, 0, "FineReport");  
    Style style = Style.getInstance();

字體為 Arial ,粗體,字號 20,紅色:

FRFont frfont = FRFont.getInstance("Arial", 1, 20.0F, Color.red);  
    style = style.deriveFRFont(frfont);  
    CellA1.setStyle(style);  
    sheet1.addCellElement(CellA1);

設定第 0 欄欄寬為 150px,第 0 列列高為 35px:

sheet1.setColumnWidth(0, new OLDPIX(150.0F));  
sheet1.setRowHeight(1, new OLDPIX(35.0F));

這樣一張最簡單的程式網路報表便可以完成了,編譯成 class 檔案放置在工程下就可以存取了。

2. 範例

如下範例透過一個簡單的程式實現建立一個報表,在 A1 儲存格內插入 FineReport 這個字串,對字串進行格式設定,然後在瀏覽器中直接存取該網路報表。

2.1 準備編譯環境

編譯程式前,需先建立一個 Java 工程環境,並且需要一個 Java 編輯器,如 Eclipse 或 idea 。

在編輯器工程中匯入 FineReport 工程 JAR 包。包括使用者自己報表工程

%FR_HOME%/lib下的所有的包,

%FR_HOME%/server/lib 下的所有包,

%FR_HOME%/webapps/webroot/WEB-INF/lib下的所有包,

還要引入 JDK 下的 tools.jar。詳細操作可參考:編譯Java程式 

2.2 定義程式網路報表

2.2.1 編寫 Java 程式

在編輯器中編寫 Java 程式 CreateReportletDemo.java,其中實現建立報表、儲存格中插入值,設定儲存格樣式等。 

完整程式碼可參見:

注:修改 Java ,重新編譯生成 class ,取代原有 class 後,必須重啟工程才能生效,否則一直都是展示原來的範本。

https://code.fanruan.com/demo/example/src/release/10.0/src/main/java/com/fr/demo/CreateReportletDemo.java

2.2.2 編譯 Java 檔案

Java 程式編寫完成後,在編譯器中編譯 CreateReportletDemo.java ,編譯透過後,將會在編譯器對應工程檔案儲存路徑下生成 CreateReportletDemo.class 類檔案。如下圖所示:

QQ20250619-104950.png


點選下載 class 檔案:CreateReportletDemo.rar

2.3 發佈並在 Web 端預覽 

將編譯後的 CreateReportletDemo.class 放到報表工程 %FR_HOME%\webapps\webroot\WEB-INF\classes\com\fr\demo目錄下。如下圖所示:

QQ20250619-105014.png

啟動伺服器,在瀏覽器中輸入存取報表工程檔案的路徑,如使用本地設計器工程,啟動後在瀏覽器端輸入http://localhost:8075/webroot/decision/view/report?viewlet=com.fr.demo.CreateReportletDemo便可以預覽報表。如下圖所示:


QQ20250619-104906.png

附件列表


主題: 二次開發
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙