西虹市网
标题:
最新:springboot2.1.5集成fineReport报表工具
[打印本页]
作者:
xubin
时间:
2022-6-18 09:02
标题:
最新:springboot2.1.5集成fineReport报表工具
#springboot#
1. 集成jar
首先将fineReport提供集成的jar包,加入本地仓库中
大数据分析
https://www.finebi.com/solutions/bdFineReport是一款高效易用的企业级Web报表工具,可视化拖拽操作即可制作中国式复杂报表,帮助软件公司加快项目进度,帮助企业搭建报表中心,轻松维护,及时响应业务需求。
代码如下:
call mvn install:install-file -Dfile=F:\FineReport_9.0\WebReport\WEB-INF\lib\fr-core-9.0.jar -DgroupId=com.fr -DartifactId=fr-core -Dversion=9.0 -Dpackaging=jar
call mvn install:install-file -Dfile=F:\FineReport_9.0\WebReport\WEB-INF\lib\fr-report-9.0.jar -DgroupId=com.fr -DartifactId=fr-report -Dversion=9.0 -Dpackaging=jar
call mvn install:install-file -Dfile=F:\FineReport_9.0\WebReport\WEB-INF\lib\fr-third-9.0.jar -DgroupId=com.fr -DartifactId=fr-third -Dversion=9.0 -Dpackaging=jar
call mvn install:install-file -Dfile=F:\FineReport_9.0\WebReport\WEB-INF\lib\fr-performance-9.0.jar -DgroupId=com.fr -DartifactId=fr-performance -Dversion=9.0 -Dpackaging=jar
call mvn install:install-file -Dfile=F:\FineReport_9.0\WebReport\WEB-INF\lib\fr-platform-9.0.jar -DgroupId=com.fr -DartifactId=fr-platform -Dversion=9.0 -Dpackaging=jar
call mvn install:install-file -Dfile=F:\FineReport_9.0\WebReport\WEB-INF\lib\fr-chart-9.0.jar -DgroupId=com.fr -DartifactId=fr-chart -Dversion=9.0 -Dpackaging=jar
call mvn install:install-file -Dfile=F:\FineReport_9.0\WebReport\WEB-INF\lib\fr-datasource-9.0.jar -DgroupId=com.fr -DartifactId=fr-datasource -Dversion=9.0 -Dpackaging=jar
将执行语句创建bat文件统一执行
2. 集成maven包
1. 在项目resources目录下新建libs文件夹,将依赖jar放入其中
2. 将依赖的jar包引入至项目中
<dependency>
<groupId>com.fr</groupId>
<artifactId>fr-core</artifactId>
<version>9.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/libs/fr-core-9.0.jar</systemPath>
</dependency>
<artifactId>fr-report</artifactId>
<systemPath>${project.basedir}/src/main/resources/libs/fr-report-9.0.jar</systemPath>
<artifactId>fr-third</artifactId>
<systemPath>${project.basedir}/src/main/resources/libs/fr-third-9.0.jar</systemPath>
<artifactId>fr-performance</artifactId>
<systemPath>${project.basedir}/src/main/resources/libs/fr-performance-9.0.jar</systemPath>
<artifactId>fr-platform</artifactId>
<systemPath>${project.basedir}/src/main/resources/libs/fr-platform-9.0.jar</systemPath>
<artifactId>fr-chart</artifactId>
<systemPath>${project.basedir}/src/main/resources/libs/fr-chart-9.0.jar</systemPath>
<artifactId>fr-datasource</artifactId>
<systemPath>${project.basedir}/src/main/resources/libs/fr-datasource-9.0.jar</systemPath>
3. 在pom.xml中设置打包时将项目中libs文件夹下的jar也打包进去
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<!--将本地libs目录下的jar打包到项目中-->
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
3. 创建service服务
在springboot启动类中加入如下代码
@Bean
public ServletRegistrationBean servletRegistrationBean(){
return new ServletRegistrationBean(new ReportServlet(),"/ReportServer");
}
* 设置内置Tomcat运行项目目录
public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer() throws Exception{
// 设置帆软报表根目录(第三步中获取的绝对路径)
// 本地启动获取文件目录
File file=new File("");
File currentFolder=ResourceUtils.getFile(file.getCanonicalPath().split("asset-levy")[0]+File.separatorChar+"WebReport");
// 服务器目录(打包用)E:\projects\asset-levy\src\main\resources\WebReport\WEB-INF\reportlets
//String documentRoot="F:\\FineReport_9.0\\WebReport"
return new WebServerFactoryCustomizer<ConfigurableWebServerFactory>() {
@Override
public void customize(ConfigurableWebServerFactory factory) {
if (factory instanceof TomcatServletWebServerFactory) {
TomcatServletWebServerFactory tomcat=(TomcatServletWebServerFactory) factory;
if (!StringUtils.isEmpty(currentFolder)) {
File root=null;
try {
root=currentFolder;
} catch (Exception e) {
e.printStackTrace();
}
tomcat.setDocumentRoot(root);
}
}
}
};
4. 集成fineReport相关文件
1. 首先在springboot项目平级下创建WebReport文件夹
2. 复制fineReport安装文件中FineReport_9.0\WebReport\WEB-INF下所有文件至项目创建的WebReport文件夹下
3. 必须复制的文件
JAR 包:lib 中以 fine 开头的 JAR 包(包含了报表服务的所有功能),及 netty-all-xxx.Final.jar、visualvm-xxx.jar,必须拷贝至 WEB-INFlib 下。
assets:新特性图表 8.6.0 及以后版本存放图表资源的目录。
assist:存放一些辅助工具,比如新图表要使用 phantom 等。
plugins:该文件夹包含了报表管理里安装的所有插件的 JAR 包和配置信息,拷贝至 WEB-INF 下面。
reportlets:该文件夹为 FineReport 服务器规定的,不能修改,且必须为小写,其下可以建立子目录,所有报表模板 cpt 文件必须保存在 reportlets 文件夹下,且 reportlets 文件必须放在 WEB-INF 下面。
注:以上文件或文件夹是必须拷贝到已有应用目录下的。
4. 选择性复制的文件
embed:存储 HSQL,所有的配置信息,推荐拷贝至 WEB-INF 下面,否则部署的为新工程。
classes:该文件夹是应用服务器规定的,主要作用是存放 .class文件。若对 FineReport 进行了二次开发,如自定义函数、程序数据源、程序网络报表等,也需要将编译后的 class 类文件拷贝到该文件夹下。
数据库驱动包:若报表中使用了 JDBC 连接了数据库,需要将对应的数据库驱动包如Oracle数据库的驱动ojdbc14.jar拷贝到WEB-INFlib下,其他数据库驱动同样。
5. 修改报表数据库连接
5. 集成设计的报表
1. 将设计好得报表文件复制至\WebReport\WEB-INF\reportlets
1. 启动项目,配置菜单
2. 访问报表有两种方式,
(1) 直接访问
配置资源菜单为:/ReportServer?reportlet=settltStatistics.cpt
(2) 通过页面iframe方式访问
配置资源菜单为:/redirect/levyReport/index,调转至报表首页,通过iframe引用
举报/反馈
作者:
天沁
时间:
2022-9-1 08:58
昌平的网上家园 哈哈 平台不错啊
作者:
铁木真
时间:
2022-11-1 11:20
有竞争才有进步嘛
作者:
天沁
时间:
2022-12-5 08:54
过来看看的
作者:
苏强
时间:
2022-12-13 15:29
不知该说些什么。。。。。。就是谢谢
作者:
大牛子
时间:
2022-12-22 13:14
没事我就来看看,哈哈!
作者:
甲丁
时间:
2022-12-27 00:32
有道理。。。
欢迎光临 西虹市网 (http://bbs.xihong021.cn/)
Powered by Discuz! X3