初识报表引擎-FineReport

news2025/1/11 12:50:19

简介

提到报表引擎大家可能都会说帆软。目前商用的比较突出的两个报表引擎:分别是帆软FineReport、RDP报表引擎,其中帆软功能突出且非常完整但是价格较高,RDP功能相对完整但是不够强大貌似还有些BUG,不过价格很低。就目前的情况来看我们还是首选帆软,无论功能范围还是技术支持都非常不错。下载使用什么就不说了,官方文档介绍的及其详细。上下面简单介绍一下如何去独立部署以及简单的使用。

安装报表设计器

这个没什么说的,直接官网下载安装即可

数据决策系统服务部署

直接部署(linux版)

文档:Linux下Tomcat服务器部署包- FineReport帮助文档 - 全面的报表使用教程和学习资料

安装包下载:免费下载FineReport - FineReport报表官网

按照官网要求下载后cd到bin目录运行 ./startup.sh启动即可。

如果报错:fontconfig找不到,直接yum安装就行了 yum install -y fontconfig。其它错误请直接按照官方文档来:服务器部署异常向导

 启动好后访问:http://ip:端口/webroot/decision

docker部署方案

选择性删除原有的模板

  • 删除 tomcat-linux/webroot/webapps/WEB-INF/reportlets/doc
  • 删除 tomcat-linux/webroot/webapps/WEB-INF/reportlets/demo下除homepage的其他目录

选择Postgresql驱动,注意版本

wget https://jdbc.postgresql.org/download/postgresql-42.2.6.jar

plugins

之前安装的插件也可以拷贝过去

Dokerfile文件

# 使用tomcat+jdk镜像
FROM tomcat:8.5.59-jdk8-adoptopenjdk-hotspot
# 创建者信息
MAINTAINER xxxxx

# 拷贝fine的tools.jar,否则会有问题
COPY ./tomcat-linux/lib/tools.jar /usr/local/tomcat/lib/

# 拷贝webroot
COPY ./tomcat-linux/webapps/webroot /usr/local/tomcat/webapps/webroot

# 支持postgres
#COPY ./postgresql-42.2.6.jar /usr/local/tomcat/webapps/webroot/WEB-INF/lib/
# 插件
#COPY ./plugins /usr/local/tomcat/webapps/webroot/WEB-INF/plugins
# 利息插件报错
#COPY ./upm /usr/local/tomcat/webapps/webroot/udm

build命令:

docker build -t="fine-report:v11.0" -f Dockerfile .

docker run:

# docker run 映射模板目录和数据库目录
docker run -d --name fine-report11.0 -p 8055:8080 \
-v 本机帆软数据目录/reportlets:/usr/local/tomcat/webapps/webroot/WEB-INF/reportlets/ \
-v 本机帆软数据目录/finedb:/usr/local/tomcat/webapps/webroot/WEB-INF/embed \
fine-report:v11.0
# 访问
xxx.xxx.xxx.xxx:8055/webroot/decision

系统的数据卷在本质上所有的/usr/local/tomcat/webapps/webroot/WEB-INF/下的都应当作为数据集,但是一般情况下只会使用文件夹下的这几个文件夹。

ok启动起来了访问一下,好家伙内置了很多酷炫的模板!!

帆软数决策平台的据库迁移

用户可在「初始化时」配置外接数据库或在「平台中」配置 MySQL 5 版本的外接数据库。如果启动时选择了内置数据库,那么需要在设置里面去迁移数据库到其它数据库。点击「管理系统>系统管理>常规>外接数据库>待配置」

 报表使用

这个详细的操作就看官方视频吧,不过目前这种思路和策略应该是没问题的,将决策系统作为一个web端来进行外挂,为其它系统提供决策报表的页面。

在设计器中使用远程服务器

 

可以看到数据集已经和远程服务器端一致了

然后就是正常的新建决策报表、普通报表、聚合报表等,按照官方文档视频去“愉快”的学习吧。设计好后去决策系统就可以进行配置了。

 (众所周知我是胡乱设计的,只是为了测试一下而已)

好这样就可以查看和使用,也能够让其它系统以ifrem的方式来嵌入。安全的问题话在管理端:系统管理-安全管理进行设置。比如关掉Security Headers...

TODO:

数据权限控制上没有进行透彻的研究,官方提供了CAS和OAuth两种方案,也没透彻理解。不过有一个简单想法,通过参数传递的方式将用户ID传递到模板然后在SQL之中使用ID进行关联数据权限的查询,不知可不可行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/602253.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《模板的进阶》

本文主要介绍C模板知识,包括模板的参数类型,模板的特化,模板的分离编译 文章目录 思维导图一、非类型模板参数二、模板的特化2.1模板特化的概念2.2函数模板特化2.3类模板的特化2.3.1全特化2.3.2偏特化 2.4非类型模板参数也是可以特化的 三、模…

Android 调用系统隐藏的类和方法

1.Android系统隐藏的类和方法 阅读Android源码时,会发现很多被UnsupportedAppUsage注解的方法,这些方法不能被外部应用访问。 比如Android中的PackageParser类,这个类是在android.content.pm包下面: 可以看到这个类是隐藏的&…

有哪些自动化构建工具推荐? - 易智编译EaseEditing

以下是几个常用的自动化构建工具推荐: Jenkins: Jenkins 是一个开源的自动化构建工具,广泛用于持续集成和持续交付。 它支持各种编程语言和版本控制系统,并提供了丰富的插件生态系统,可实现灵活的构建流程和自动化部…

【Spring】— 动态SQL :<choose>、<when>和<otherwise>元素

<choose>、<when>和<otherwise>元素 在使用<if>元素时&#xff0c;只要test属性中的表达式为true&#xff0c;就会执行元素中的条件语句&#xff0c;但是在实际应用中&#xff0c;有时只需要从多个选项中选择一个执行。例如&#xff0c;若用户姓名不为…

九、Docker网络

Docker网络 一、docker网络介绍 Docker网络在Docker的基础知识中算比较重要的了&#xff0c;需要多多实验理解。 Docker服务安装启动后默认在host上创建了三个网络&#xff1a; [rootk8s-m1 ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UN…

毛毛莫名的大一生活总结

毛毛莫名的大一生活总结 1. 关于高考我的看法1.1 初中1.2 高中 2. 大一开学前的暑假3. 大一开学3.1 军训3.2 学生会 学校社团 运动团体3.2.1 学生会3.2.1.1 院学生会3.2.1.2校学生会 3.2.2 社团3.2.3 运动团体 4. 大学生活 1. 关于高考我的看法 1.1 初中 初一初二对学习不用太…

一种简单的Android骨架屏实现方案----0侵入0成本

对骨架屏的理解 什么是骨架屏 所谓骨架屏&#xff0c;就是在页面进行耗时加载时&#xff0c;先展示的等待 UI, 以告知用户程序目前正在运行&#xff0c;稍等即可。 等待的UI大部分是 loading 转圈的弹窗&#xff0c;有的是自己风格的小动画。其实大同小异。而骨架屏无非也是一…

本地部署github上的stable diffuion,轻松玩转ai绘画(新手小白也能懂)

你也想自己生成上面这样好看的图片吗&#xff1f;废话不多说&#xff0c;跟着博主&#xff0c;按步骤来&#xff0c;做完你也就可以了&#xff0c;而且无任何限制&#xff0c;懂得都懂&#xff01;&#x1f60e; 目录 第一步&#xff1a;准备VPN 第二步&#xff1a;安装Pyth…

LabVIEWCompactRIO 开发指南第七章48

LabVIEWCompactRIO 开发指南第七章48 5.如果控制器上已经安装了LabVIEW实时和NI-RIO&#xff0c;请选择自定义软件安装并点击下一步。如果出现警告对话框&#xff0c;请单击“是”。单击NI-工业通信用于EtherCAT的框。将自动检查所需的依赖项。单击下一步继续在控制器上安装软…

一款开源的无线CMSIS DAP ARM芯片下载调试器详细说明

文章目录 概要1. 一般概念1.1 CMSIS—DAP的一般概念1.2 支持的芯片1.3 典型应用场景 2. 原理图与尺寸图2.1 Host端&#xff08;发送端&#xff09;原理图2.2 Target&#xff08;目标&#xff09;端原理图2.3 Host尺寸图2.4 Target尺寸图2.5 实物图 3. 使用方法3.1 连接方法3.1.…

群晖折腾记1—群晖NAS使用docker中的ddns-go,DDNS阿里云ali实现Ipv6访问

群晖折腾记1—群晖NAS使用docker中的ddns-go,DDNS阿里云ali实现Ipv6访问 前置条件科普时间具体步骤1. 域名购买2. 获取AccessKey ID和Secret3. 获取免费SSL证书4. 在docker中运行ddns-go6.设置反向代理 前置条件 1、移动宽带只有IPv6公网地址&#xff0c;若你的宽带为电信或联…

Eslint配置指南

ESLint最初是由Nicholas C. Zakas 于2013年6月创建的开源项目。ESLint 是一个开源的 JavaScript 代码检查工具&#xff0c;它是用来进行代码的校验&#xff0c;检测代码中潜在的问题&#xff0c;比如某个变量定义了未使用、函数定义的参数重复、变量名没有按规范命名等等。 中…

logging 模块因权限问题写入日志失败

哈喽大家好&#xff0c;我是咸鱼 今天跟大家分享一个使用 Python 的 logging 模块写入日志文件时遇到的权限问题&#xff0c;不知道你们有没有遇到过 1.案例现象 今天上班的时候手机短信收到了 zabbix 告警&#xff0c;但是发现了不对劲的地方&#xff1a;微信没有收到告警信…

【C++】虚函数相关常见问题

【C】虚函数相关常见问题 文章目录 【C】虚函数相关常见问题1.说说为什么要虚析构&#xff1f;2. C默认的析构函数为什么不是虚函数?3. 构造函数能不能是虚函数4. 说说什么是虚继承&#xff0c;解决什么问题&#xff0c;如何实现&#xff1f;5. 说说什么是虚函数6.说说虚函数的…

VESC操作入门——PPM输入控制和ADC输入控制

目录 一、PPM输入控制1.1、硬件准备1.2、PPM信号1.3、校准电机1.4、输入设置 二、ADC输入控制2.1、硬件准备2.2、更改固件2.3、电压信号2.4、校准电机2.5、输入设置 三、电动车转把控制3.1、转把说明3.2、转把测试 ODrive、VESC和SimpleFOC 教程链接汇总&#xff1a;请点击 一、…

SpringBoot作日志切面记录

目录 1.WebLogAspect 2.配置log4j2.yml 3.效果 话不多说&#xff0c;直接上代码&#xff1a; 1.WebLogAspect import java.util.Arrays;import javax.servlet.http.HttpServletRequest;import org.apache.commons.lang3.StringUtils; import org.apache.commons.text.Str…

第Y2周:训练自己的数据集

我的环境&#xff1a; 训练自己的数据集 一、准备自己的数据集1. 编写split_train_val.py文件2.生成训练文件索引文件 二、创建训练yaml文件三、开始训练 一、准备自己的数据集 数据集来源&#xff1a;kaggle水果检测 目录结构如下&#xff1a; 1. 编写split_train_val.py…

ClickHouse基本使用总结

查看系统配置 查看系统表 select * from system.clusters; 验证zookeeper #验证zookeeper是否与当前数据库clickhouse进行了正确的配置 SELECT * FROM system.zookeeper WHERE path /clickhouse; 建表 创建本地表 MergeTree&#xff0c;这个引擎本身不具备同步副本的功能&…

Kali Linux 2023.2 发布(Hyper-V 和 PipeWire)

Kali Linux 2023.2 发布&#xff08;Hyper-V 和 PipeWire&#xff09; 请访问原文链接&#xff1a;https://sysin.org/blog/kali-linux-2023/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 更新说明 2023 年 5 月 30 日&…

国产上新!芯驰D9多核Cortex-A55核心板,国产车规级平台

随着信息技术的快速发展&#xff0c;市场对芯片的需求越来越大&#xff0c;中国芯片行业自20世纪80年代开始起步&#xff0c;经过近40年的努力&#xff0c;也进入了一个新的时代&#xff0c;芯片国产化乃未来发展的大势所趋。米尔电子作为行业领先的嵌入式模组厂商&#xff0c;…