西虹市网

标题: 最新: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