zoukankan      html  css  js  c++  java
  • 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、图表交互

  • 相关阅读:
    python 读写文件
    input 默认值为灰色,输入时清楚默认值
    openstack security group and rules python api use
    centos7 ssh 设置key认证
    联通烽火hg220桥接tplink路由器
    windows,linux,mac生成ssh public key 和 private key
    bootstrap的编辑标记 angularjs input 弹出框
    sqlalchemy多表联合查询(join)
    python urllib2 发起http请求post
    openstack新建虚机、网络、路由时候对应的ovs网桥的变化
  • 原文地址:https://www.cnblogs.com/michellexiaoqi/p/7667643.html
Copyright © 2011-2022 走看看