html5表格製作軟件:FineReport行分欄?

有時我們會遇到列數很少,但是擴展出很多行的報表,這種報表窄而長,預覽或打印時會有很大的一片空白區域,不美觀且浪費紙張。為了節省空間、增加美觀性,FineReport報表可以通過分欄將報表進行行方向或者列方向的分欄顯示,如下圖行分欄後效果,數據是從上到下擴展,超過20行,就在第2列中顯示,並且每列數據都有一個小標題,所有數據有一個大標題。

html5表格製作軟件:FineReport行分欄

工具/原料

html5表格製作軟件:FineReport

電腦

方法/步驟

數據準備

新建一張模板,新建數據集ds1:SELECT * FROM [人員變動表]。

模板設計

如下圖,在報表主體上設計報表:

其中B3單元格的父格為C3,公式seq作用是對員工進行排序,其詳細使用方法請查看行序號。

html5表格製作軟件:FineReport行分欄

未分欄預覽

保存模板,預覽模板,如下圖,可以報表每頁右側都有很多的空白區域,浪費空間:

html5表格製作軟件:FineReport行分欄

分欄設置

如上圖,報表右側還有很多空白區域,那麼就可以設置行分欄,將左側超過固定行的數據挪到右側。

這裡我們設置每一欄顯示20行數據,不包括標題,以此類推。

就可以在菜單欄中,選擇模板>報表分欄,設置為行分欄,超過20行時進行分欄,參與分欄的數據從左上角的A3到右下角的E3,故在分欄數據中填寫A3:E3,如下圖:

html5表格製作軟件:FineReport行分欄

超過行分欄是指縱向擴展的數據超過固定行數就進行行分欄,其中超過行分欄的數字計算公式為:

超過行分欄的數字=(分欄數據中結束分欄行序號-開始分欄行序號+1)*倍數,標題行不參數計算

如上圖,分欄區域中分欄數據位A3到E3,結束分欄行序號和開始分欄行序號均為3,示例要求每個欄位顯示20行數據,每條數據只佔一行,所以倍數為20,那麼:

超過行分欄的數字=(3-3+1)*20=20

分欄成X列

分欄成x列與超過X行分欄效果一樣,都是設置每一欄中數據顯示多少行,超過x行分欄是固定每一欄位的行數,欄數不確定,分欄成x列是指所有的數據分成固定欄,每一欄中數據的行數根據數據總行數確定,如示例中,不包括標題,數據總共有407行,那麼如果分欄成12列,那麼每一欄的數據行數=407/12(如果不能整除,則向上取整)=35,如下圖:

html5表格製作軟件:FineReport行分欄

複製行序列是指在分欄時將該行復製作為每個欄位的標題,因此其一般應用於單元格是標題的行,複製行序號的行不參與分欄。

另:報表設計時,大標題必須要覆蓋整個分欄區域,如示例中的“各分公司員工勞動關係詳表”(大標題)所在的單元格所在區域必須包含到E1單元格,如果沒有包含到E1單元格,那麼大標題就不會跟隨擴展顯示在所有數據中間,而是顯示在第一欄數據的中間,如下圖:

html5表格製作軟件:FineReport行分欄

分欄時的特別要求

縱向擴展時,由於欄數不定,設置上面的分欄後,一頁可能會顯示出多欄,甚至最右邊的欄會顯示不全,而我們往往希望每頁能夠固定顯示兩欄。

此時我們需要保證,設計報表時,左側設計報表所佔的總列寬,需要跟右側所在報表範圍內的空白大小基本相同,就可顯示2欄了,如果模板樣式不好調,可以調整頁面大小。

html5表格製作軟件:FineReport行分欄

保存與預覽

保存模板,點擊分頁預覽,效果即如上。模板效果在線查看請點擊Columns_Row.cpt

已完成的模板可參考%FR_HOME%\WebReport\WEB-INF\reportlets\doc\advanced\Columns_Row.cpt。

注:分欄只適用於分頁預覽

軟件, 數據, 表格, 分欄, 行分欄,
相關問題答案