FineReport----报表模板入门教程1
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、图表交互


FineReport----报表模板入门教程1的更多相关文章
- C++模板入门教程(一)——模板概念与基本语法
转载请保留以下声明 作者:赵宗晟 出处:http://www.cnblogs.com/zhao-zongsheng/ 前言 有些人提到C++模板就会下意识地觉得可怕.看不懂.避而远之.其实模板并不复杂 ...
- ActiveReports 报表控件官方中文入门教程 (3)-如何选择页面报表和区域报表
本篇文章将介绍区域报表和页面报表的常见使用场景.区别和选择报表类型的一些建议,两种报表的模板设计.数据源(设计时和运行时)设置.和浏览报表的区别. ActiveReports 报表控件官方中文入门教程 ...
- ActiveReports 报表控件官方中文入门教程 (1)-安装、激活以及产品资源
本系列文章主要是面向初次接触 ActiveReports 产品的用户,可以帮助您在三天之内轻松的掌握ActiveReports控件的基本使用方法,包括安装.激活.创建报表.绑定数据源以及发布等内容.本 ...
- ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布
本篇文章将阐述首次使用 ActiveReports 报表控件 的方法,包括添加报表文件.绑定数据源以及如何发布报表等内容. ActiveReports 报表控件官方中文入门教程 (1)-安装.激活以及 ...
- mui初级入门教程(六)— 模板页面实现原理及多端适配指南
文章来源:小青年原创发布时间:2016-07-26关键词:mui,webview,template,os,多端适配转载需标注本文原始地址: http://zhaomenghuan.github.io. ...
- CPF 入门教程 - 设计器和模板库的使用(五)
CPF netcore跨平台UI框架 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) CPF 入门教程 - 绘图(四) CPF ...
- JasperReports入门教程(四):多数据源
JasperReports入门教程(四):多数据源 背景 在报表使用中,一个页面需要打印多个表格,每个表格分别使用不同的数据源是很常见的一个需求.假如我们现在有一个需求如下:需要在一个报表同时打印所有 ...
- JasperReports入门教程(三):Paramters,Fields和Detail基本组件介绍
JasperReports入门教程(三):Paramter,Field和Detail基本组件介绍 前言 前两篇博客带领大家进行了入门,做出了第一个例子.也解决了中文打印的问题.大家跟着例子也做出了de ...
- JasperReports入门教程(二):中文打印
JasperReports入门教程(二):中文打印 背景 在上一篇中我们介绍了JasperReport的基本入门,也展示了一个报表.但是我们的示例都是使用的英文,如果我们把需要打印的数据改为中文会怎么 ...
随机推荐
- JavaScript中使用JSON,即JS操作JSON总结
JSON(JavaScript Object Notation 对象标记) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生 ...
- cocos2dx 3.x Node::schedule
auto callback = [=](float dt){ //do something }; node->schedule(callback, 1.0/60, "mySchedul ...
- C++语言基础(23)-拷贝构造函数
当以拷贝的方式初始化一个对象时,会调用一个特殊的构造函数,就是拷贝构造函数(Copy Constructor). 例如: #include <iostream> #include < ...
- C# 执行多条SQL更新语句,实现数据库事务
class Program { class Result<T> { public T data; public string Message; public bool Success; p ...
- strtol / strtoll / strtoul / strtoull
function long int strtol (const char* str, char** endptr, int base); —— Convert string to long integ ...
- matplotlib之设置极坐标起点的位置
#!/usr/bin/env python3 #-*- coding:utf-8 -*- ############################ #File Name: polar.py #Auth ...
- ORACLE中关于 char 和 varchar2 的比较
先建表做一个测试: ) , VARC2 )), CHAR2 ) ; INSERT INTO TT VALUES('A','A','A') ; INSERT INTO TT VALUES('A','A ...
- sitemesh 学习之 meta 引入
在上篇笔记学习了sitemesh的基本用法,这里还有另一种用法 在sitemesh.jar有一个默认的sitemesh-default文件 ,这个文件是可以指定的 可以指定的文件名的sitemesh. ...
- Hive分析窗体函数之SUM,AVG,MIN和MAX
行 AVG(pnum) OVER(PARTITION BYpolno ORDER BY createtime ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOW ...
- 脚本 sh 和 ./ 的区别,exec和source
如果.不在PATH里面,要执行当前目录下的可执行文件,使用全路径: ./executable-file PATH是环境变量,如果将当前目录“./”添加到环境变量中,那么也可以不用“./”,直接输入当前 ...