FineReport就一款類Excel操作界面的報表工具,通過拖拖拽拽簡單實現報表制作,實現數據展示、數據查詢、數據錄入功能,並且支持圖形多樣化展示。
一、入門小例子
1. 打開設計器
啟動FineReport設計器,彈出設計界面。
2. 連接數據源
在設計報表前,首先要添加報表中需展示的數據來源,如安裝設計器后自帶的內置FRDemo數據庫。
選擇菜單服務器>定義數據連接,如下:
3. 新建工作簿
點擊菜單文件>新建工作簿或者點擊
4. 添加數據集
在制作報表前,先從數據源中取出這張報表所用的數據,如使用FRDemo中的銷量表制作一張地區銷量表。
在左側模板數據集面板中,新建數據集ds1,SQL語句為:SELECT * FROM [銷量],如下圖所示:
5.報表樣式
FineReport工具可以輕松快捷地制作出一張報表,如下圖地區銷量報表:
6. 實現步驟
6.1 設計表樣式
報表主設計界面是一個類似Excel的表格,一些基本的使用方式都與Excel類似,用戶可以輕松的設計報表:
可以對邊框、字段,格式進行設置。
對銷售進行求合,兩種方式設置數據列
1、雙擊彈開
2、右上角對單元格設置
7 預覽
二、小知識點
1、單元格
1)
1)數據展示時,單元格由一個變多個
2)比如圖中的灰色的小箭頭向下,代表數據列展示時幾下擴展
3)設置橫向
2)
縱向時父格的擴展性要設置橫向向,不然無法識別,因為默認他是縱向。
2、分組報表
默認是分組。
3、自由報表
4、交叉報表
5、多源報表
增加一個銷售總額的數據集
6、主子報表
兩個表進行關聯
金額計算:單價*數量*(1-折扣)
序號,先設置左父格b7,然后進行編號 。
7、動態格間運算
1)比較
B2[A2:1]:B2單元格對應A2單元格擴展出來的對應B2的值
B2-B2[A2:1]:B2-B3
2)占比
B2[!0]:B2擴展出來的所有值
B2/SUM(B2[!0]):B2/B2和
3)環比
B2[A2:-1] :B2單元格對應A2擴展出來上一個單元格,對應B2的值
&A2:A2擴展出來所有當前單元格值
if(&A2>1,B2/B2[A2:-1],0),如A2值大於1 ,則B2/B1
4)逐層累計
D2[B2:-1]:D2單元格對應B2擴展出來的上個單元格,對應D2的值
D2[B2:-1]+C2,是D1+C2
5)跨層累計
if(&B2>1,D2[B2:-1]+C2),D2[A2:-1,B2:!-1]+C2):如果B2=1,上一個年最后一個D2值加C2
6)條件,總額超過2500的月份個數
先設置數據2500的數據,字休顯示為紅色
A2=$A2:當年
count(B2[!0]{A2=$A2 && C2>2500})
8、條件屬性
1)設置新值
2)隱藏行高
$$$:當前值
3)隔行設置顏色
4)當值處於某個值的時顯示紅色
9、超級鏈接
1)鏈接網頁 2)鏈接另個報表 3)彈出框(js)4)郵件等
下面例子是根據條件鏈接 到另個報表
設置地區不同指向不同報表,要設置數據集條件,如下:select * from 銷量 where 地區=‘${area}’
設置area為參數,在數據庫查詢時,點擊預覽時可以選擇area為華東,進行預覽數據 。
超級鏈接,area=$$$
10、參數 入門
1)、數據集參數
添加控件
2)選擇 模版->模版參數-添加一個參數
模版參數 需要與過濾條件結合
然后就是添加 控件與之前 一樣。
3)全局參數
選擇服務器->全局參數->添加 一個全局參數-步驟與模版參數一樣。
參數路徑
11、參數為空選擇全部
1)數據集參數
SELECT * FROM 銷量 where 1=1 ${if(leng(area)==0,"","and 地區=' "+area+" ' ")}
可以在日志中查看 SQL語句
有值 時:
沒值時
2)模版參數
if(len($a)==0,nofilter,$a)
如果參數a長度為0,(nofilter)不過濾,不然就等於a參數的值
12、填報簡介
添加控件
設置報表屬性
選擇“報表填報屬性”
與數據庫字段關聯
填報錄入
填報預覽
13、多sheet填報
與EXECL一樣,增加一個excel頁簽
預覽
14、圖表
單元格圖表可以有父子關系,可以根據父子擴展關系影響數據,懸浮圖表不受限制。
在單元格內插入圖表,
定義圖表的數據
設置圖表樣式
預覽
15、圖表交互