1. 概述
1.1 問題描述
在 FineReport 中製作報表時,經常遇到在滿足一定條件下「儲存格/列/欄」需要顯示為不同的背景色,那麼該如何實現呢?
1.2 解決思路
可以透過新增「條件屬性>背景」來實現。
設定「當前格子/當前列/當前欄」的原理一樣,本文以「當前格子」和「當前列」為例進行簡單講解。
2. 範例一:當前格子
2.1 準備資料
建立普通報表,建立內建資料集「電商銷售佔比」,記錄各電商不同產品的銷量佔比:
2.2 表格設計
A2 儲存格按右鍵選擇「儲存格元素>插入斜線」,輸入「電商|產品」,選擇「從左上到右下發散」。B2~M2 輸入電商名稱,將資料列拖入對應儲存格 A3~M3,表格樣式如下圖所示:
注:上述表格寬度已超過預設紙張大小寬度,需要在 範本>頁面設定 中修改紙張大小使其預覽時顯示在同一頁面上。
2.3 新增條件屬性
選中 B3~M3 儲存格,新增「背景」類型的條件屬性,點選「編輯」自訂一個顏色,然後設定作用於「當前格子」。
然後設定這個條件屬性生效的條件:條件類型選擇「普通」,值類型選擇「雙精度型」,用「AND」連結兩個條件,如下「大於或等於 0.5 」and「小於 0.7」。
依次新增 6 個條件屬性,如下表所示:
條件屬性 | 條件 |
---|---|
條件屬性1 | 大於或等於 0.5 and 小於 0.7 |
條件屬性2 | 大於或等於 0.3 and 小於 0.5 |
條件屬性3 | 大於或等於 0.1 and 小於 0.3 |
條件屬性4 | 大於或等於 0.05 and 小於 0.1 |
條件屬性5 | 大於 0 and 小於 0.05 |
條件屬性6 | 等於 0 |
注:條件屬性執行順序由上到下。
2.4 效果預覽
PC 端
儲存報表,點選「分頁預覽」,不同區域段顯示不同顏色,可達到與熱力圖相同的效果。如下圖所示:
行動端
App 端和 H5 端均支援,效果如下圖所示:
3. 範例二:當前列
3.1 準備資料
建立普通報表,建立資料庫查詢 ds1,SQL 查詢語句為:SELECT * FROM 銷量。
3.2 表格設計
將所有欄位拖入儲存格中,新增對應標題,設定 A2 儲存格的資料設定為「列表」,如下圖所示:
3.3 新增條件屬性
選中 A2 儲存格,點選右側「條件屬性」,新增條件,屬性下拉選擇「背景」,點選「編輯」,自訂顏色,設定「當前列」。
條件類型選擇「公式」,點選「定義」輸入公式:E2 >= 500,即銷量大於 500 時,當前列顯示為綠色。步驟如下圖所示:
3.4 效果預覽
PC 端
儲存報表,點選「分頁預覽」,效果如下圖所示:
行動端
App 端和 H5 端均支援,效果如下圖所示: