如何用FineReport制作一张报表(一)
1. 描述
這篇文檔通過制作一張簡單普通報表,讓大家可以快速了解 FineReport 報表的制作流程。
1.1 報表設計流程圖
1.2 第一張報表效果
在制作這張簡單普通報表之前,我們先來看一下報表最終呈現出來的效果,然后我們再根據這個效果來設計報表的樣式。
這張報表包含的功能模塊:
介紹完報表的實現效果,下面我們根據報表制作流程圖來設計這張簡單普通報表。
2. 制作步驟
2.1 新建數據連接
新建數據連接的目的是讓 FineReport 設計器連接數據庫,這樣報表就可以在數據庫中讀取、寫入或修改數據。
數據連接的方式有兩種,分別是連接內置數據庫和連接外置數據庫。制作這張報表連接的是 FineReport 內置的 SQLite 類型的數據庫。
1)打開設計器,菜單欄選擇服務器>定義數據連接。
2)彈出「定義數據連接」對話框,設計器已經默認連接了一個名為?FRDemo?的內置數據庫,點擊測試鏈接,彈出「連接成功」提示框,表示數據庫 FRDemo 成功與設計器建立連接。接下來就可以從這個數據庫中取數用于報表的設計。
2.2 新建報表類型
菜單欄選擇文件>新建普通報表或者點擊新建普通報表按鈕,新建一張空白的普通報表。
?
2.3 新建數據集
數據集通過 SQL 查詢語句從已經建立連接的數據庫中取數,將數據以二維表的形式保存并顯示在數據集管理面板處。簡單而言數據集是報表設計時的直接數據來源。
數據集按照作用范圍分為兩種:服務器數據集和模板數據集,它們之間的區別大家可以參見對應文檔中的說明。
我們制作的這張普通報表將新建兩個模板數據集 ds1 和 ds2。
1)數據集管理面板選擇模板數據集,點擊上方的,在彈出的模板數據集類型選擇框中點擊數據庫查詢。
?
2)在彈出的數據庫查詢對話框中,寫入數據查詢語句SELECT * FROM 銷量,新建數據集ds1,查詢并取出「銷量」表中的所有數據。
?
?
?
3)同理,新建數據集 ds2,寫入數據庫查詢語句SELECT 銷售員,SUM(銷量) AS 銷售總量 FROM 銷量 GROUP BY 銷售員,查詢并取出每個銷售員的銷售總量信息。
3)新建好數據集之后,可在數據集管理面板查看取出的數據。
至此報表的數據準備工作已經完成,下面對報表的樣式進行設計。
2.4 報表設計
2.4.1 表格設計
1)樣式設計
標題:合并 A1~D2 單元格,寫入報表標題「地區銷售概況」,設置標題為15號字體,字體加粗并居中。
?
單元格斜線:在一個單元格中用斜線分隔顯示三個標題字段信息,合并 A3、B3 單元格,右擊合并后的單元格,點擊單元格元素>插入斜線。系統會彈出一個斜線編輯的對話框,在文本編輯框寫入標題字段信息:產品|銷售員|地區,可以通過添加空格來調整文字的位置。
邊框:選中從 A1~D5 單元格,點擊工具欄中的? 按鈕,在系統彈出的邊框設置對話框中,同時添加內部和外部邊框。
最終樣式效果如下圖所示:
2)數據綁定
將數據集中的數據列拖入到對應單元格中。
C5 單元格用于計算每個產品各自的總銷量,所以要對 C4 單元格求和,選中 C5 單元格,點擊上方快捷按鈕中的插入公式,在彈出的公式編輯框中輸入公式SUM(C4)。
D5 單元格用于統計所有產品的總銷量,所以要對 D4 單元格求和,同理,在 D5 單元格插入公式?SUM(D4)。
數據綁定最終效果如下圖所示:
3)屬性設置
選中 C3 單元格,讓產品字段的數據在表格中橫向擴展,右邊屬性面板選擇單元格屬性>擴展>基本>擴展方向>橫向。
選中 C4 單元格,由于 A4、B4、C3 單元格的擴展已經確定了唯一的銷量值,故 C4 單元格無需擴展,擴展方向為不擴展。
選中 A1~D5 單元格,點擊上方的居中按鈕,將表格中的字體居中顯示。
4)多數據集關聯
當報表中存在不同數據集的數據時,需要通過添加數據過濾條件,建立起不同數據集之間的聯系。
我們制作的這張報表的數據來源于兩個不同的數據集 ds1 和 ds2,「銷售員」字段是這兩個數據集共有的字段,我們使用這個字段建立起他們之間的聯系。
選中并雙擊 D4 單元格,彈出數據列對話框,選擇過濾。給單元格添加一個普通條件,將 ds2 的銷售員字段與 ds1 的銷售員字段進行綁定,實現兩個數據集之間的關聯。
總結
以上是生活随笔為你收集整理的如何用FineReport制作一张报表(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转载】作者苗晓平介绍的飞鸽传书
- 下一篇: 程序员谈 JavaScript 数组 A