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的基本入门,也展示了一个报表.但是我们的示例都是使用的英文,如果我们把需要打印的数据改为中文会怎么 ...
随机推荐
- hbase 批量插入api
1.数据格式a.txt: 1363157985066 13726230503 00-FD-07-A4-72-B8:CMCC 120.196.100.82 i02.c.aliimg.com 24 27 ...
- SharePoint专家新闻轮转器WebPart----亲測力推之Web部件
SharePoint专家新闻轮转器WebPart----亲測力推之Web部件 项目截图: 注意: 专家新闻轮转器还在測试阶段.期待大家讨论和跟踪问题. 项目描写叙述: 专家新闻轮转器是一个ShareP ...
- C++ opencv高速样例学习——读图显示
1.关键函数 1. 读入图片 imread(图片或位置,显示格式)默觉得:IMREAD_COLOR 显示格式: IMREAD_UNCHANGED =-1 // 8bit, color or no ...
- List与String的相互转换
List转字符串,用逗号隔开 List<string> list = new List<string>(); list.Add("a"); list.Add ...
- Microsoft SQL Server Data Tools - Business Intelligence for Visual Studio 2013 SSIS
VS2012 SSDTBI_VS2012_x86_CHS.exe http://www.microsoft.com/zh-CN/download/details.aspx?id=36843 VS201 ...
- 点滴积累【JS】---JS小功能(offsetLeft实现图片滚动效果)
效果: 代码: <head runat="server"> <title></title> <style type="text/ ...
- erlang supervisor中启动普通的进程
文字部分转自: http://1234n.com/?post/qou3eb supervisor的子进程 一开始使用supervisor的时候,我用的是init/1返回子进程规格列表的方式,并且所有子 ...
- C#中Equals和==的比较
一.值类型的比较 对于值类型来说 两者比较的都是”内容”是否相同,即 值 是否一样,很显然此时两者是划等号的. ; ; Console.WriteLine("i==j"+(i== ...
- Jquery学习笔记(10)--ajax删除用户,使用了js原生ajax
主要复习了php的pdo数据库操作,和js的ajax,真麻烦,希望jquery的ajax简单点. index.php: <!DOCTYPE html> <html lang=&quo ...
- python学习笔记3---浅拷贝和深拷贝,file操作
import copy a=[1,2,3,['a','b']] b=a c= copy.copy(a)---浅拷贝 d=copy.deepcopy(a)---深拷贝 file操作: python 文件 ...