finereport使用

  • finereport的集成方式与部署方式
  • finereport的数据集简单操作
  • 程序数据集
  • 数据库数据集
  • finereport模版文件展示
  • finereport设计器操作

finereport的集成方式与部署方式

  • 独立部署
  • 直接使用finereport服务器提供的部署tomcat进行部署
  • 优点:独立部署,不影响其他项目的使用,解耦。独立操作所有模版进行分配。
  • 缺点:程序数据集,等大数据操作时,需要在此引入finereport的jar包进行开发。
  • 集成到web项项目
  • servlet/spring项目,可将web-info/lib下的jar复制到本身项目中,并把tools.jar(jdk下的文件)复制到本身项目lib中即可。
  • springboot项目,目前集成只能jar启动方式,改成war包的启动方式进行部署启动。
  • 手动新建webapp目录
  • 将finerepot项目webapp目录下的文件copy到项目中新建的webapp目录
  • 将jdk中的tools.jar复制到lib目录
  • 在tomcat catlinna.sh配置tools.jar的访问路径
  • 缺点:整个项目很大可能会1-2个g的大小。

finereport的数据集简单操作

  1. 在官网下载finereport v10设计器 ,进行安装。

finereport模版开发教程

程序数据集

FineReport 是通过 AbstractTableData 抽象类来读取数据源的,所有的数据来源都继承实现其抽象方法。因此用户只要实现了 AbstractTableData 抽象类,就可以用自定义类型的数据源,FineReport 报表引擎就能够读取定义的数据源作为报表数据源使用。

整体思路
  • 1) 定义数据表结构
  • 2)实现 AbstractTableData 抽象类
  • 3)将获取到的数据放入到定义的表中
  • 4)如果数据连接没有定义,可以自己创造连接
  • 5)释放一些资源,将上次查询的结果释放掉
需要的依赖
  • %FR_HOME%/lib下的所有的包
  • %FR_HOME%/server/lib下的所有包
  • %FR_HOME%/webapps/webroot/WEB-INF/lib下的所有包
  • JDK 下的的 tools.jar
  • 实现AbstractTableData抽象类
package com.fr.data;
import java.util.ArrayList;
import java.util.List;
public class SimpleArrayTableDataDemo extends SimpleTableData {
    /**
     * 初始化列头
     * @return
     */
    @Override
    public String[] initColumnNames() {
        return new String[]{"Name", "Score"};
    }
/**
     * 加载行列数据
     * @return
     */
    @Override
    public List<Object[]> loadData() {
        ArrayList<Object[]> valueList = new ArrayList();
        valueList.add(new Object[]{"Alex", 15});
        valueList.add(new Object[]{"Helly", 22});
        valueList.add(new Object[]{"Bobby", 99});
        return valueList;
    }
  • 设计器中直接设置
  • 服务器中:SimpleArrayTableDataDemo.class 类文件文件复制到%FR_HOME%webapps/webroot/WEB-INF/classes/com/fr/data工程目录下
  • 设计好的报表部署
  • 将cpt文件放在reportlets目录下
  • 将程序集放入%FR_HOME%webapps/webroot/WEB-INF/classes/com/fr/data
  • 数据库连接,直接在web页面新建连接

数据库数据集

  • 服务器配置数据连接
  • 帆软可以连接hive吗 帆软如何_spring

  • 设计器JDBC 数据连接
  • 帆软可以连接hive吗 帆软如何_帆软可以连接hive吗_02