反饋已提交

網絡繁忙

儲存格樣式設定

1. 概述

1.1 應用場景

上一節中範例如何建立報表,新增儲存格。儲存格是組成報表的最小元素,增加後就要對其進行格式設定,如欄寬、列高、字體、文字色彩色、背景色、顯示位置、邊框樣式、邊框顏色等等。如下圖所示:

QQ20250619-102510.png

1.2 實現原理

改變儲存格的格式,應先取出該儲存格(CellElement)的格式(Style)。若您是建立一個儲存格,則 Style 是 null,故當取出 Style 後應先判斷其值是否為 null,如果這個值為空,則需先建立一個 Style,然後再將該值賦給 CellElement。最後根據 Style 和 FRFont 中的方法進一步地設定該儲存格的各種屬性。

1)建立儲存格

建立一個儲存格,位置為 (1,1) ,欄向佔 2 個儲存格,向佔 2 個儲存格,正文值為 "FineReport",位置從 (0,0) 開始

TemplateCellElement cellElement = new DefaultTemplateCellElement(1, 1, 2, 2, "FineReport");

2)設定儲存格高、

設定第 1 寬為 300px,設定第 1 高為 30px,編號都是從 0 開始

worksheet.setColumnWidth(1, new OLDPIX(300));  
worksheet.setRowHeight(1, new OLDPIX(30));

3)獲取儲存格樣式

得到 CellElement 的樣式,如果沒有建立預設樣式

Style style = cellElement.getStyle();  
if (style == null) {  
    style = Style.getInstance();  
}

4)設定儲存格樣式

cellElement.setStyle(style);

5)設定字體、字號

// 設定字體和文字色彩的顏色   
FRFont frFont = FRFont.getInstance("Dialog", Font.BOLD, 16);   
frFont = frFont.applyForeground(new Color(21, 76, 160));   
style = style.deriveFRFont(frFont);         
// 設定背景   
ColorBackground background = ColorBackground.getInstance(new Color(255, 255, 177));   
style = style.deriveBackground(background);   
// 設定水平置中   
style = style.deriveHorizontalAlignment(Constants.CENTER);

6)設定儲存格邊框樣式和邊框顏色

style = style.deriveBorder(Constants.LINE_DASH, Color.red, Constants.LINE_DOT, Color.gray, Constants.LINE_DASH_DOT, Color.BLUE, Constants.LINE_DOUBLE, Color.CYAN);

如下邊框的名稱及對應的效果圖,可根據需要樣式修改程式碼。

邊框樣式名稱:LINE_NO,其效果為:無邊框

邊框樣式名稱:LINE_THIN,其效果為:20180815142051_1894.png

邊框樣式名稱:LINE_MEDIUM,其效果為:20180815142051_9824.png

邊框樣式名稱:LINE_DASH,其效果為:20180815142051_9991.png

邊框樣式名稱:LINE_HAIR,其效果為:20180815142051_5244.png

邊框樣式名稱:LINE_DASH2,其效果為:20180815142051_9544.png

邊框樣式名稱:LINE_THICK,其效果為:20180815142051_3454.png

邊框樣式名稱:LINE_DOUBLE,其效果為:20180815142051_7232.png

邊框樣式名稱:LINE_DOT,其效果為:20180815142052_4079.png

邊框樣式名稱:LINE_MEDIUM_DASH,其效果為:20180815142052_7496.png

邊框樣式名稱:LINE_DASH_DOT,其效果為:20180815142052_2880.png

邊框樣式名稱:LINE_MEDIUM_DASH_DOT,其效果為:20180815142052_8871.png

邊框樣式名稱:LINE_DASH_DOT_DOT,其效果為:20180815142052_9382.png

邊框樣式名稱:LINE_MEDIUM_DASH_DOT_DOT,其效果為:20180815142052_1397.png

邊框樣式名稱:LINE_SLANTED_DASH_DOT,其效果為:20180815142052_8606.png

2. 範例

如下範例透過一個簡單的程式實現建立一個報表,設定儲存格樣式,然後在瀏覽器中直接存取該網路報表。

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 程式 SetCellElementStyle.java,其中實現建立報表、儲存格中插入值,設定儲存格樣式等。 

完整程式碼可參見:

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

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

2.2.2 編譯 Java 檔案

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

點選下載 class 檔案:SetCellElementStyle.rar

Snipaste_2025-06-19_10-26-06.png

2.3 發佈並在 Web 端預覽 

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


Snipaste_2025-06-19_10-29-19.png

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

QQ20250619-102510.png


附件列表


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

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

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

不再提示

10s後關閉

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

反馈已提交

网络繁忙