1. 概述
1.1 版本
報表伺服器版本 |
---|
11.0 |
1.2 問題描述
有時候,同一個儲存格擴展出來的值長短不一,但是相差並不是很大,希望展示的時候它們的長度可以相同,達到對齊的效果。
如下圖所示,單位和姓名擴展出來的值長度不一樣,經過處理後正文兩端對齊。
1.3 實現思路
有 2 種方法可以實現正文兩端對齊的效果,思路分別如下:
方法一:直接使用內建儲存格分散對齊功能。
方法二:使用 HTML 標籤改變文字之間的間隔,使用空格連接字串。
2. 範例
2.1 資料準備
建立內建資料集,資料如下所示:
2.2 方法一:分散對齊實現
1)設計表格樣式,將資料集中的欄位拖曳到對應儲存格中。在 A2 儲存格中插入公式:seq(),如下圖所示:
2)選中要調整的 B2 和 C2 儲存格,右側屬性面板選擇「儲存格屬性>樣式>對齊」,將水平對齊修改為「分散對齊」,左右各縮排 10 ,如下圖所示:
3)儲存報表,分頁預覽後正文兩端對齊效果如下圖所示:
2.3 方法二:HTML標籤實現
1)如下圖設計表格樣式。
2)選中 B2 儲存格,設定「儲存格屬性>形態>公式形態」,新增如下公式:
if(len($$$)=4,"<div style='letter-spacing:4px;'>"+$$$+"</div>",if(len($$$)=6,"<div style='letter-spacing:-2.3px;'>"+$$$+"</div>",$$$))
注1:這裏因為分析了單位分別有長度為 4、5、6 三種情況,所以保持中位數 5 長度的單位不變,4 長度的加大間隔,6 長度的縮短間隔。使用者需要根據自己應用場景的實際字數進行調整。
注2:由於字體和大小等原因,加大縮短的具體數值需要根據自己的實際情況來調整。
3)B2 儲存格設定使用 HTML 顯示內容。
4)選中 C2 儲存格,設定「儲存格屬性>形態>公式形態」,新增如下公式:
if(len($$$)=2,left($$$,1)+" "+right($$$,1),$$$)
注:公式中間連接的是一個空字元,請將輸入法切換到全角後再按一下空格鍵。
5)儲存報表,分頁預覽後正文兩端對齊效果如下圖所示:
注:H5 效果使用 HTML 標籤部分需要另外調整一下具體間隔。
3. 範本下載
3.1 方法一
已完成範本可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\分散對齊實現正文兩端對齊.cpt
點選下載範本:分散對齊實現正文兩端對齊.cpt
3.2 方法二
已完成範本可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\正文兩端對齊.cpt
點選下載範本:正文兩端對齊.cpt