1. 描述

这篇文档通过制作一张简单普通报表,让大家可以快速了解 FineReport 报表的制作流程。

1.1 报表设计流程图

1.2 第一张报表效果

在制作这张简单普通报表之前,我们先来看一下报表最终呈现出来的效果,然后我们再根据这个效果来设计报表的样式。

这张报表包含的功能模块:

  1. 控件面板:下拉框可以选择地区,点击查询按钮后,只查询出该地区对应的表格和柱形图数据。
  2. 表格:表格统计该地区下各销售员每个产品的总销量。
  3. 柱形图:柱形图将该地区下各销售员每个产品的总销量以图表的形式进行展示。

介绍完报表的实现效果,下面我们根据报表制作流程图来设计这张简单普通报表。

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制作一张报表(一)相关推荐

  1. 如何用FineReport制作一张报表(二)

    2.4.2 图表设计 图表的作用在于可以更加直观地表现数据,提升用户的报表查看体验. 我们在这张报表中插入柱形图来直观化展示各销售员每个产品的销售总量. 1)合并 A7~D18 单元格,选择菜单栏插入 ...

  2. 润乾报表制作一张报表的步骤

    第一步:打开设计器 第二步:数据源连接 点开配置菜单项中的数据源,再弹出的数据源配置窗口进行数据源的连接,可以直接使用报表本身附带的数据库.若是想要使用自己的数据源可以点击新建,新的数据源新建成功后点 ...

  3. SSRS从入门到放弃?? 零基础:教你5分钟内轻松制作一张报表(Intouch、IFix、WinCC、组态王等均适用)

    大家好,我是June,是新成员小学妹一枚,热衷于技术分享,希望大家多多支持. 前几天,工作很久的学姐躲在楼道偷偷抹眼泪,在为她点了一杯不加奶茶不加珍珠只有抱抱的珍珠抱抱奶茶后,她对我说,领导要求她三天 ...

  4. 如何利用FineReport制作动态树报表

    在对数据字段进行分类管理时,利用动态树折叠数据是一个很好的方法,也就是点击数据前面的加号才展开对应下面的数据,如下图.那这样的效果在制作报表时该如何实现呢? 下面以报表工具FineReport为例介绍 ...

  5. java自定义统计报表_用Java报表工具FineReport制作人员统计报表

    阅读提示: 文章中与FineReport软件使用的相关内容,基于软件的V7.0旧版本编写,不代表软件最新的使用方式. FineReport最新版免费试用:https://www.finereport. ...

  6. 如何用python制作一张节日贺卡

    操作系统:win11 使用工具:idle 编程语言:python 创作目的:初学者熟悉python 步骤:打开idle ctrl+n新建文件 输入如下指令 holiday=input("请输 ...

  7. Tecplot进阶——如何用Tecplot制作一张满足论文投稿要求的图片

    如题,一两年前刚刚做Tecplot入门,满足自己基础的作图需求.之后投了自己的第一篇文章,Tecplot作为作图主力被大量使用.除了基础功能外,还有很多额外的操作被用到,这里进行一个简单的总结. 基础 ...

  8. 数据科学、管理科学系课程教学课件——FineReport实验指导书节选====你的第一张报表

      数据科学.管理科学系的数据大屏.数据报表.商务智能.管理信息系统等课程教学,只需简单的数据库基础,解放学生码代码的时间,用更真实的企业案例,更灵活的将思维落地.本节讲述的是通用报表的分析案例:你的 ...

  9. [财务][数据化分析][帆软]报表设计-第一张报表

    今天说一下帆软的弊端,优势什么的请自己去发现,使用了这么久帆软了,唯一感觉的是赶紧找一台服务器安装上,本机跑太消耗内存了. 如果你数据量大并发量大,请最少128G内存起步.这个不是帆软的错,是Java ...

最新文章

  1. iOS音频——AudioToolbox
  2. 分享13个Spring Boot 优质开源项目!商城,ERP,管理系统
  3. resetroot_169route_python2(用于ubuntu12.04和14.04,centos系列)
  4. java gc --- 关键词解释
  5. ik分词和jieba分词哪个好_Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考...
  6. (39)System Verilog程序Program设计实例
  7. windows下SVN日志反馈中文乱码的解决方法
  8. Preferences偏好设置
  9. 我的“技术架构”之旅
  10. 线性系统的Matlab分析函数
  11. 使用 Eclipse 平台进行调试
  12. 使用正则表达式把关键字替换加粗
  13. ai生成图片是什么技术_什么是生成型AI?
  14. 通信原理第七版樊昌信 课后习题答案详解
  15. 图论及其应用(吴望明中文版)
  16. vue 点击取消按钮关闭页面_vue 点击按钮弹窗,点击关闭按钮关闭弹窗。
  17. 2019杭电多校Problem 5 Snowy Smile题解
  18. 济南职工医保统筹的一些了解
  19. 微信小程序实现列表页的点赞和取消点赞功能!
  20. 系列九、vue中css样式字体设置为华文行楷

热门文章

  1. java 折线图 放大 缩小_可拖拉放大缩小HC折线图 | JShare
  2. 单一索引和复合索引区别及联系
  3. 你会和丑且家境不好,但对你好的男孩结婚吗?
  4. 面试中遇到回答不上来的问题可以这样做
  5. 互联网日报 | 华为Mate40系列国内发布;陆金所在纽交所挂牌上市;苹果大中华区营收大降28.6%...
  6. 如何用代码控制midi数据格式的速度_音频软件大全,你知道几个音频软件,自媒体人都在用的音频软件...
  7. 缓存击穿和缓存穿透的区别_后端RoadMap011:缓存穿透、缓存击穿、缓存雪崩区别和解决方案...
  8. 作者:李海生(1974-),男,博士,食品安全大数据技术北京市重点实验室、北京工商大学计算机与信息工程学院教授、研究生导师...
  9. JAVA——附加作业1——统计员工数
  10. 令人迷惑的硬币翻转(洛谷P1146题题解,Java语言描述)