开源推荐:一款类Excel操作风格,简单、易上手,可定制化,各种复杂报表中式报表引擎

一款优质的数据报表,可以直观的体现出数据,也能对企业的经营活动起到一定的指导作用。那么数据报表具体还有什么作用和价值呢,一起来了解~

有效的数据报表整理能够将数据非常完整有效的进行分解和整合,这对于企业来说,能够将看似杂乱的数据有效的进行采集和整理,并且能够进行合理化的呈现,是保证企业数据管理能够有效运转的一个重要因素。

开源推荐:一款类Excel操作风格,简单、易上手,可定制化,各种复杂报表中式报表引擎

总体来说报表的作用有俩方面:

  • 1、保证企业数据管理有效运转
  • 2、节省人力成本

之前想找一个开源,免费,操作简单,业务人员也能直接使用的报表工具,确实是比较少了。不然要么是收费,要么是半收费的情况。找了一圈,发现了这款Ureport报表,用了还挺不错,基本的需求都能满足,那么推荐给大家。

UReport2 简单的介绍

UReport2 是第一款基于 Apache-2.0 协议开源的中式报表引擎,由锐道公司出品。

开源推荐:一款类Excel操作风格,简单、易上手,可定制化,各种复杂报表中式报表引擎

UReport2是一款全新的基于单元格迭代模型纯Java的中式报表引擎,它架构于Spring之上,它提供了基于Eclipse插件与基于网页的两种报表模版设计方式,采用类Excel报表模版设计风格,简单、易上手,可在不编程的情况下完成绝大多数报表模版的设计工作。

UReport2 是一款高性能的架构在 Spring 之上纯 Java 报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。

在 UReport2 中,提供了全新的基于网页的报表设计器,可以在 Chrome、Firefox、Edge 等各种主流浏览器运行(IE浏览器除外),打开浏览器即可完成各种复杂报表的设计制作。

UReport2 简单的介绍

报表的主要功能

UReport报表引擎是一款纯Java的中式报表引擎,所以它几乎可运行于所有环境当中;又因为它架构于Spring之上,所以天生就具备了与企业应用良好的集成能力;UReport采用的是单元格迭代模型,所以它可以快速实现各种类型复杂的中式报表报表模型。

开源推荐:一款类Excel操作风格,简单、易上手,可定制化,各种复杂报表中式报表引擎

在UReport当中支持横纵向分组、多层分组、自定义分组、函数、斜线表头、条形码、套打、同期比计算、各种类型的交叉报表、多数据源多区域交叉报表、各种类型的图表(柱图、饼图、曲线图、区域图、蛛网图等)等各种常见的报表功能,对于生成的报表可实现网页预览,同时支持导出Excel、PDF,或者直接网页打印输出。

类Excel操作风格

基于单元格迭代模型,支持多源、分片、横纵向分组交叉等常见功能的轻量级报表引擎。也可能是首创的网页报表设计器。

易学易用

支持集成开发环境与浏览器双模式报表可视化云设计。配套集成开发环境与浏览器双模式的单元格为计算单位的单元格配置驱动模式的中国式报表可视化流程设计器。支持向导式创建报表项目。支持单元格的字体、字号、颜色、底色、对齐、框线等可视化设置。

中式特色

横向分组、纵向分组、错行分组、错列分组、分组统计、明细数据、单层交叉、多层交叉、分片分组交叉、交叉统计、同期比计算、自定义分组、斜表头、条形码、套打等中国式报表。

UReport2如何做定制化

可定制化,可集成 , 直接引用即可使用

项目支持以下方式集成

  • 基于非 Maven 项目集成 UReport2 报表引擎
  • 基于 Maven 的Servlet项目集成 UReport2 报表引擎,同事
  • 基于 Spring Boot 2.0 集成 UReport2 报表引擎
UReport2三种数据源配置

三种数据源分别是:直接连接数据库、Spring Bean以及内置数据源。如图所示:

三种类型的数据源分别是直接连接数据库,Spring Bean以及通过实现com.bstek.ureport.definition.datasource.BuildinDatasource接口提供的内置数据源。

1、直连数据库

在项目的classpath中添加好相应数据库的驱动Jar包后,在弹出的窗口中配置数据源连接信息即可:

开源推荐:一款类Excel操作风格,简单、易上手,可定制化,各种复杂报表中式报表引擎

2、Spring Bean类型的数据源

Spring Bean类型的数据源可以选择Spring上下文中定义好的一个Bean来作为数据源,点击图标,在弹出的窗口中输入数据源名称及要采用的Bean的ID,如下图所示:

开源推荐:一款类Excel操作风格,简单、易上手,可定制化,各种复杂报表中式报表引擎

在Spring bean数据集配置中,方法名我们可以点击右侧的“选择方法”按钮来选择当前Bean对应的类中定义的方法,但这里对方法的要求是:方法必须要有三个参数,依次是String,String,Map,比如我们上面定义的testBean里就包含两个合法的方法

开源推荐:一款类Excel操作风格,简单、易上手,可定制化,各种复杂报表中式报表引擎

3、内置数据源

这种类型的数据源,要示我们实现BuildinDatasource接口,同时将BuildinDatasource接口实现类配置到Spring即可.

package com.bstek.ureport.definition.datasource;
import java.sql.Connection;

public interface BuildinDatasource {
    /**
     * @return 返回数据源名称
     */

    String name();
    /**
     * @return 返回当前采用数据源的一个连接
     */

    Connection getConnection();
}


UReport2支持定义报表存储媒介和方式

UReport2默认报表存储器与自定义报表存储器。支持文件系统,数据库存储系统。参考官方的示例就可以写了。

默认报表存储目录

如果您的项目在Eclipse的开发环境运行时,采用的是jetty(比如run-jetty-run插件),那么就可以在项目的WEB-INF目录下发现一个名为“ureportfiles”目录。

默认报表存储目录实现原理

UReport2默认提供的名为“服务器文件系统”的报表存储机制,实际上是实现了UReport2提供的com.bstek.ureport.provider.report.ReportProvider接口。

那么实现的时候可以是数据库,OSS对象存储等。具体看项目支持的情况进行重写。

public interface ReportProvider {
    /**
     * 根据报表名加载报表文件
     * @param file 报表名称
     * @return 返回的InputStream
     */

    InputStream loadReport(String file);
    /**
     * 根据报表名,删除指定的报表文件
     * @param file 报表名称
     */

    void deleteReport(String file);
    /**
     * 获取所有的报表文件
     * @return 返回报表文件列表
     */

    List<ReportFile> getReportFiles();
    /**
     * 保存报表文件
     * @param file 报表名称
     * @param content 报表的XML内容
     */

    void saveReport(String file,String content);
    /**
     * @return 返回存储器名称
     */

    String getName();
    /**
     * @return 返回是否禁用
     */

    boolean disabled();
    /**
     * @return 返回报表文件名前缀
     */

    String getPrefix();
}


实现了ReportProvider接口后,只需要将实现类配置到Spring中,让其成为一个标准的Spring Bean,这样UReport2就会检测到它而将其加载。

开源推荐:一款类Excel操作风格,简单、易上手,可定制化,各种复杂报表中式报表引擎

其他

Ureport2 还支持报表计算模型,表达式,函数等数据。

UReport2是第一款基于Apache-2.0开源协议的中式报表引擎。可以免费试用。

UReport项目开源源码地址:https://gitee.com/youseries_admin/ureport

还有很多功能是支持的,需要花精力去挖掘。比如说分组,送货单二维码打印等。

最后

一个致力于分享技术、职场技能和创业经验方面的知识和经验,内容包括但不限于Java技术、技术趋势、开源项目和技术架构公众号。持续关注互联网和科技的发展,分享人工智能和其他前沿技术的信息,陪你一起成长。

欢迎关注,星标,以及收藏,防止想用的时候没有找到。这样每次新文章推送才会第一时间出现在你的订阅列表里。 世间千变万化,我们才不会擦肩而过……

原文始发于微信公众号(souvc):开源推荐:一款类Excel操作风格,简单、易上手,可定制化,各种复杂报表中式报表引擎

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/205962.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!