有時我們會遇到列數很少,但是擴展出很多行的報表,這種報表窄而長,預覽或列印時會有很大的一片空白區域,不美觀且浪費紙張。為了節省空間、增加美觀性,網頁報表FineReport報表可以通過分欄將報表進行行方向或者列方向的分欄顯示。
工具/原料
網頁報表FineReport7.1.1
大小:148.2M 適用平臺:windows/linux
方法/步驟
資料準備
新建一張模板,新建資料集ds1:SELECT * FROM [人員變動表]。
模板設計
如下圖,在報表主體上設計報表:
其中B3單元格的父格為C3,公式seq作用是對員工進行排序
未分欄預覽
儲存模板,預覽模板,如下圖,可以報表每頁右側都有很多的空白區域,浪費空間:
分欄設定
如上圖,報表右側還有很多空白區域,那麼就可以設定行分欄,將左側超過固定行的資料挪到右側。
這裡我們設定每一欄顯示20行資料,不包括標題,以此類推。
就可以在選單欄中,選擇模板>報表分欄,設定為行分欄,超過20行時進行分欄,參與分欄的資料從左上角的A3到右下角的E3,故在分欄資料中填寫A3:E3,如下圖:
超過X行分欄
超過行分欄是指縱向擴充套件的資料超過固定行數就進行行分欄,其中超過行分欄的數字計算公式為:
超過行分欄的數字=(分欄資料中結束分欄行序號-開始分欄行序號+1)*倍數,標題行不引數計算
如上圖,分欄區域中分欄資料位A3到E3,結束分欄行序號和開始分欄行序號均為3,示例要求每個欄位顯示20行資料,每條資料只佔一行,所以倍數為20,那麼:
超過行分欄的數字=(3-3+1)*20=20
分欄成X列
分欄成x列與超過X行分欄效果一樣,都是設定每一欄中資料顯示多少行,超過x行分欄是固定每一欄位的行數,欄數不確定,分欄成x列是指所有的資料分成固定欄,每一欄中資料的行數根據資料總行數確定,如示例中,不包括標題,資料總共有407行,那麼如果分欄成12列,那麼每一欄的資料行數=407/12(如果不能整除,則向上取整)=35,如下圖:
複製行序列
複製行序列是指在分欄時將該行復製作為每個欄位的標題,因此其一般應用於單元格是標題的行,複製行序號的行不參與分欄。
另:報表設計時,大標題必須要覆蓋整個分欄區域,如示例中的“各分公司員工勞動關係詳表”(大標題)所在的單元格所在區域必須包含到E1單元格,如果沒有包含到E1單元格,那麼大標題就不會跟隨擴充套件顯示在所有資料中間,而是顯示在第一欄資料的中間,如下圖:
分欄時的特別要求
縱向擴充套件時,由於欄數不定,設定上面的分欄後,一頁可能會顯示出多欄,甚至最右邊的欄會顯示不全,而我們往往希望每頁能夠固定顯示兩欄。
此時我們需要保證,設計報表時,左側設計報表所佔的總列寬,需要跟右側所在報表範圍內的空白大小基本相同,就可顯示2欄了,如果模板樣式不好調,可以調整頁面大小。
如果需要顯示3欄,則要保證報表範圍內(分頁線之間)能夠分成3份等寬。
儲存與預覽
儲存模板,點選分頁預覽,效果即如下