1. 概述
1.1 問題描述
在製作報表的程式中,我們可以透過 儲存格樣式 中的「對齊」對整列或整欄儲存格的對齊方式進行統一設定。如下圖所示:
但如果希望某列(或某欄)儲存格在不同條件下有不同的對齊方式,該如何實現呢?
例如:「華北」地區水平靠左對齊,「華東」地區水平靠右對齊,如下圖所示:
1.2 解決思路
透過給儲存格新增「條件屬性>新值」,新值使用 HTML 公式表示,再用 HTML 顯示儲存格內容。
對齊方式 | 新值公式 |
---|---|
水平靠左 | CONCATENATE("<div align='left'>"+$$$+"</div>") |
水平置中 | CONCATENATE("<div align='center'>"+$$$+"</div>") |
水平靠右 | CONCATENATE("<div align='right'>"+$$$+"</div>") |
2. 範例
2.1 準備資料
建立普通報表,建立資料庫查詢 ds1,SQL 查詢語句為:SELECT * FROM 銷量。
2.2 範本設定
將資料集中的欄位拖到儲存格中,並設定內容「置中」,將 A2 儲存格的「資料設定」修改為「列表」。設計表格樣式如下圖所示:
2.3 設定條件屬性
1)選中 A2 儲存格,新增兩個條件屬性,分別重新命名為「華北左對齊」和「華東右對齊」。
2)華北左對齊:當儲存格值等於「華北」時,新值為公式:CONCATENATE("<div align='left'>"+$$$+"</div>")
其中 CONCATENATE() 的作用是將多個字串合併成一個字串。
3)華東右對齊同理設定。新值為公式:CONCATENATE("<div align='right'>"+$$$+"</div>")
2.4 設定儲存格顯示內容
設定 A2 儲存格的「儲存格屬性>其它>顯示內容」為「用 HTML 顯示內容」。如下圖所示:
2.5 效果預覽
2.5.1 PC 端
儲存報表,點選「分頁預覽」,效果與 1.1 節中效果圖一致。
2.5.2 行動端
App 端和 HTML5 端均支援,效果如下圖所示:
3. 範本下載
點選下載範本:條件屬性實現儲存格對齊.cpt