干不动了伙计们,老板说每天导它个 5000 App 下载
项目介绍
积木报表 JimuReport,是一款免费的数据可视化报表,含报表、仪表盘和大屏设计,像搭建积木一样完全在线设计!功能涵盖:数据报表、打印设计、图表报表、门户设计、大屏设计等!
- Web 版报表设计器,类 Excel 操作风格,通过拖拽完成报表设计,所见即所得。
- 大屏采用类 word 风格,可以随意拖动组件,想怎么设计怎么设计,可以像百度和阿里一样,设计出炫酷大屏!
- 从 v1.9 + 起推出 JimuBI 产品,她的牛叉之处,同时支持仪表盘、大屏、门户 (支持交互)、移动。
- 秉承 "简单、易用、专业" 的产品理念,极大的降低报表开发难度、缩短开发周期、节省成本。
- 领先的企业级 Web 报表,支持各种复杂报表,专注于解决企业报表难题。
当前版本:v1.9.1 | 2024-12-05
集成依赖
公测期间尚未上传依赖到官仓,请大家配置 JEECG 私服
一、积木报表依赖
<dependency> <groupId>org.jeecgframework.jimureport</groupId> <artifactId>jimureport-spring-boot-starter</artifactId> <version>1.9.1</version> </dependency>
二、积木 BI 依赖 (仪表盘和大屏)
从 1.9.1 起正式将 jimureport-dashboard-spring-boot-starter
更名为 jimubi-spring-boot-starter
<dependency> <groupId>org.jeecgframework.jimureport</groupId> <artifactId>jimubi-spring-boot-starter</artifactId> <version>1.9.1</version> </dependency>
升级日志
本次升级主要推出首个稳定版大屏,报表新增 "定时导出报表" 功能,同时修复 1.9.0 版本已知 BUG。
升级 SQL
-- 大屏加字段 ALTER TABLE `onl_drag_page` ADD COLUMN `des_json` varchar(500) NULL COMMENT '仪表盘主配置JSON' AFTER `cover_url`; -- 文件夹加排序 ALTER TABLE jimu_report_category ADD COLUMN sort_no int NULL COMMENT '排序' AFTER tenant_id; update jimu_report_category set sort_no = 0 where sort_no is null; -- 定时报表导出 DROP TABLE IF EXISTS `jimu_report_export_job`; CREATE TABLE `jimu_report_export_job` ( `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '任务名称', `begin_time` datetime NULL DEFAULT NULL COMMENT '开始时间', `end_time` datetime NULL DEFAULT NULL COMMENT '结束时间', `exec_interval` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '执行频率', `report_conf` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '导出报表配置', `last_run_time` datetime NULL DEFAULT NULL COMMENT '最后执行时间', `receiver_email` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '接收通知的邮件', `file_sync_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文件同步路径', `status` int(11) NULL DEFAULT NULL COMMENT '状态(0:停止;1:启动)', `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', `tenant_id` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '多租户标识', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '积木报表导出计划表' ROW_FORMAT = Dynamic; -- 仪表盘门户组件配置 UPDATE `onl_drag_comp` SET `comp_config` = '{\n \"w\": 12,\n \"h\": 26,\n \"dataType\": 1,\n \"url\": \"http://api.jeecg.com/mock/42/nav\",\n \"timeOut\": -1,\n \"linkageConfig\": [],\r\n \"dataMapping\": [\r\n {\r\n \"filed\": \"标题\",\r\n \"mapping\": \"\"\r\n },\r\n {\r\n \"filed\": \"图标\",\r\n \"mapping\": \"\"\r\n },\r\n {\r\n \"filed\": \"颜色\",\r\n \"mapping\": \"\"\r\n },\r\n {\r\n \"filed\": \"跳转\",\r\n \"mapping\": \"\"\r\n }\r\n ],\n \"chartData\": [\n {\n \"title\": \"首页\",\n \"icon\": \"icon-jeecg-homepage\",\n \"color\": \"#1fdaca\"\n },\n {\n \"title\": \"仪表盘\",\n \"icon\": \"icon-jeecg-shijian\",\n \"color\": \"#bf0c2c\"\n },\n {\n \"title\": \"组件\",\n \"icon\": \"icon-jeecg-dangan\",\n \"color\": \"#e18525\"\n },\n {\n \"title\": \"系统管理\",\n \"icon\": \"icon-jeecg-shezhi\",\n \"color\": \"#3fb27f\"\n },\n {\n \"title\": \"权限管理\",\n \"icon\": \"icon-jeecg-yuechi\",\n \"color\": \"#4daf1bc9\"\n },\n {\n \"title\": \"图表\",\n \"icon\": \"icon-jeecg-fujin\",\n \"color\": \"#00d8ff\"\n }\n ],\n \"option\": {\n \"icon\": {\n \"scriptUrl\": \"//at.alicdn.com/t/font_3237315_b3fqd960glt.js\",\n \"fontSize\": 30\n },\n \"card\": {\n \"title\": \"快捷导航\",\n \"extra\": \"更多\",\n \"rightHref\": \"\",\n \"size\": \"default\"\n },\n \"body\": {\n \"column\": 3,\n \"textAlign\": \"center\",\n \"iconAlign\": \"top\"\n }\n }\n}', `status` = '1', `create_by` = NULL, `create_time` = NULL, `update_by` = 'admin', `update_time` = '2022-04-29 19:50:38' WHERE `id` = '100103'; UPDATE `onl_drag_comp` SET `comp_config` = '{\n \"w\": 12,\n \"h\": 19,\n \"dataType\": 1,\n \"url\": \"http://api.jeecg.com/mock/42/nav\",\n \"timeOut\": 0,\n \"turnConfig\": {\n \"url\": \"\"\n },\n \"linkageConfig\": [],\n \"dataMapping\": [\n {\n \"filed\": \"标题\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"图标\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"数值\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"总计\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"前缀\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"颜色\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"单位\",\n \"mapping\": \"\"\n }\n ],\n \"chartData\": [\n {\n \"title\": \"访问数\",\n \"icon\": \"icon-jeecg-qianbao\",\n \"value\": 2000,\n \"total\": 120000,\n \"prefix\": \"$\",\n \"color\": \"green\",\n \"action\": \"月\"\n },\n {\n \"title\": \"成交额\",\n \"icon\": \"icon-jeecg-youhuiquan\",\n \"value\": 20000,\n \"total\": 500000,\n \"prefix\": \"$\",\n \"color\": \"blue\",\n \"action\": \"月\"\n },\n {\n \"title\": \"下载数\",\n \"icon\": \"icon-jeecg-tupian\",\n \"value\": 8000,\n \"prefix\": \"$\",\n \"total\": 120000,\n \"color\": \"orange\",\n \"action\": \"周\"\n },\n {\n \"title\": \"成交数\",\n \"icon\": \"icon-jeecg-jifen\",\n \"value\": 5000,\n \"prefix\": \"$\",\n \"total\": 50000,\n \"color\": \"purple\",\n \"action\": \"年\"\n }\n ],\n \"option\": {\n \"icon\": {\n \"scriptUrl\": \"//at.alicdn.com/t/font_3237315_b3fqd960glt.js\",\n \"fontSize\": 20\n },\n \"card\": {\n \"title\": \"统计卡片\",\n \"extra\": \"更多\",\n \"rightHref\": \"\",\n \"size\": \"default\"\n },\n \"body\": {\n \"horizontal\": 8,\n \"vertical\": 8,\n \"span\": 6\n }\n }\n}', `status` = '1', `create_by` = NULL, `create_time` = NULL, `update_by` = 'admin', `update_time` = '2022-05-07 18:24:23' WHERE `id` = '100104100'; UPDATE `onl_drag_comp` SET `comp_config` = '{\n \"w\": 24,\n \"h\": 14,\n \"dataType\": 1,\n \"url\": \"http://api.jeecg.com/mock/42/nav\",\n \"timeOut\": 0,\n \"turnConfig\": {\n \"url\": \"\"\n },\n \"linkageConfig\": [],\n \"dataMapping\": [\n {\n \"filed\": \"标题\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"图标\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"数值\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"后缀\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"颜色\",\n \"mapping\": \"\"\n }\n ],\n \"chartData\": [\n {\n \"title\": \"访问数\",\n \"icon\": \"icon-jeecg-qianbao\",\n \"value\": 2000,\n \"color\": \"green\",\n \"suffix\": \"月\"\n },\n {\n \"title\": \"成交额\",\n \"icon\": \"icon-jeecg-youhuiquan\",\n \"value\": 20000,\n \"color\": \"blue\",\n \"suffix\": \"月\"\n },\n {\n \"title\": \"下载数\",\n \"icon\": \"icon-jeecg-tupian\",\n \"value\": 8000,\n \"color\": \"orange\",\n \"suffix\": \"周\"\n },\n {\n \"title\": \"成交数\",\n \"icon\": \"icon-jeecg-jifen\",\n \"value\": 5000,\n \"color\": \"purple\",\n \"suffix\": \"年\"\n }\n ],\n \"option\": {\n \"icon\": {\n \"fontSize\": 50\n },\n \"card\": {\n \"title\": \"卡片\",\n \"extra\": \"更多\",\n \"rightHref\": \"\",\n \"size\": \"default\"\n },\n \"body\": {\n \"horizontal\": 8,\n \"vertical\": 8,\n \"span\": 6\n }\n }\n}', `status` = '1', `create_by` = NULL, `create_time` = NULL, `update_by` = 'admin', `update_time` = '2022-05-07 18:24:23' WHERE `id` = '100104108'; UPDATE `onl_drag_comp` SET `comp_config` = '{\n \"w\": 12,\n \"h\": 33,\n \"dataType\": 1,\n \"url\": \"http://api.jeecg.com/mock/42/nav\",\n \"timeOut\": -1,\n \"linkageConfig\": [],\n \"dataMapping\": [\n {\n \"filed\": \"标题\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"图标\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"分组\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"描述\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"时间\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"颜色\",\n \"mapping\": \"\"\n }\n ],\n \"chartData\": [\n {\n \"title\": \"Github\",\n \"icon\": \"icon-jeecg-social-github\",\n \"color\": \"\",\n \"desc\": \"不要等待机会,而要创造机会。\",\n \"group\": \"开源组\",\n \"date\": \"2021-04-01\"\n },\n {\n \"title\": \"Vue\",\n \"icon\": \"icon-jeecg-social-buysellads\",\n \"color\": \"#3fb27f\",\n \"desc\": \"现在的你决定将来的你。\",\n \"group\": \"算法组\",\n \"date\": \"2021-04-01\"\n },\n {\n \"title\": \"Html5\",\n \"icon\": \"icon-jeecg-html5\",\n \"color\": \"#e18525\",\n \"desc\": \"没有什么才能比努力更重要。\",\n \"group\": \"上班摸鱼\",\n \"date\": \"2021-04-01\"\n },\n {\n \"title\": \"Angular\",\n \"icon\": \"icon-jeecg-social-product-hunt\",\n \"color\": \"#bf0c2c\",\n \"desc\": \"热情和欲望可以突破一切难关。\",\n \"group\": \"UI\",\n \"date\": \"2021-04-01\"\n },\n {\n \"title\": \"React\",\n \"icon\": \"icon-jeecg-social-skype\",\n \"color\": \"#00d8ff\",\n \"desc\": \"健康的身体是实目标的基石。\",\n \"group\": \"技术牛\",\n \"date\": \"2021-04-01\"\n },\n {\n \"title\": \"Js\",\n \"icon\": \"icon-jeecg-social-pengyou\",\n \"color\": \"#4daf1bc9\",\n \"desc\": \"路是走出来的,而不是空想出来的。\",\n \"group\": \"架构组\",\n \"date\": \"2021-04-01\"\n }\n ],\n \"option\": {\n \"icon\": {\n \"scriptUrl\": \"//at.alicdn.com/t/font_3237315_b3fqd960glt.js\",\n \"fontSize\": 30\n },\n \"card\": {\n \"title\": \"项目列表\",\n \"extra\": \"更多\",\n \"rightHref\": \"\",\n \"size\": \"default\"\n },\n \"body\": {\n \"column\": 3\n }\n }\n}', `status` = '1', `create_by` = NULL, `create_time` = NULL, `update_by` = 'admin', `update_time` = '2022-04-29 19:52:42' WHERE `id` = '100105'; UPDATE `onl_drag_comp` SET `comp_config` = '{\n \"w\": 12,\n \"h\": 19,\n \"dataType\": 1,\n \"url\": \"http://api.jeecg.com/mock/42/nav\",\n \"timeOut\": -1,\n \"linkageConfig\": [],\n \"dataMapping\": [\n {\n \"filed\": \"标题\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"图标\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"描述\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"时间\",\n \"mapping\": \"\"\n }\n ],\n \"chartData\": [\n {\n \"title\": \"待办公文\",\n \"icon\": \"icon-jeecg-yudu\",\n \"content\": 23,\n \"desc\": \"今日已办 3\",\n \"date\": \"2021-04-01\"\n },\n {\n \"title\": \"待办流程\",\n \"icon\": \"icon-jeecg-shuju\",\n \"content\": 23,\n \"desc\": \"今日已办 3\",\n \"date\": \"2021-04-01\"\n },\n {\n \"title\": \"待办任务\",\n \"icon\": \"icon-jeecg-tongzhi\",\n \"content\": 23,\n \"desc\": \"今日已办 3 今日更新 5\",\n \"date\": \"2021-04-01\"\n }\n ],\n \"option\": {\n \"icon\": {\n \"scriptUrl\": \"//at.alicdn.com/t/font_3237315_b3fqd960glt.js\",\n \"fontSize\": 25\n },\n \"card\": {\n \"title\": \"待办事项\",\n \"extra\": \"更多\",\n \"rightHref\": \"\",\n \"size\": \"default\"\n },\n \"body\": {\n \"column\": 3\n }\n }\n}', `status` = '1', `create_by` = NULL, `create_time` = NULL, `update_by` = 'admin', `update_time` = '2022-04-29 19:52:49' WHERE `id` = '100106'; UPDATE `onl_drag_comp` SET `comp_config` = '{\n \"w\": 12,\n \"h\": 28,\n \"dataType\": 1,\n \"url\": \"http://api.jeecg.com/mock/42/list\",\n \"linkageConfig\": [],\n \"dataMapping\": [\n {\n \"filed\": \"名称\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"描述\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"时间\",\n \"mapping\": \"\"\n },\n {\n \"filed\": \"头像\",\n \"mapping\": \"\"\n }\n ],\n \"timeOut\": -1,\n \"option\": {\n \"titleFontSize\": 18\n },\n \"chartData\": [\n {\n \"name\": \"威廉\",\n \"date\": \"刚刚\",\n \"desc\": \"在 <a>开源组</a> 创建了项目 <a>Vue</a>\",\n \"avatar\": \"https://jeecgdev.oss-cn-beijing.aliyuncs.com/upload/test/320222_1646724689691.jpg\"\n },\n {\n \"name\": \"艾文\",\n \"date\": \"1个小时前\",\n \"desc\": \"关注了 <a>威廉</a>\",\n \"avatar\": \"https://jeecgdev.oss-cn-beijing.aliyuncs.com/upload/test/320305_1646724680756.jpg\"\n },\n {\n \"name\": \"克里斯\",\n \"date\": \"1天前\",\n \"desc\": \"发布了 <a>个人动态</a>\",\n \"avatar\": \"https://jeecgdev.oss-cn-beijing.aliyuncs.com/upload/test/299258_1646724675255.jpg\"\n },\n {\n \"name\": \"Jeecg\",\n \"date\": \"2天前\",\n \"desc\": \"发表文章 <a>如何编写一个Vite插件</a>\",\n \"avatar\": \"https://jeecgdev.oss-cn-beijing.aliyuncs.com/upload/test/2.4jeecg_1621512120602.png\"\n }\n ]\n}', `status` = '1', `create_by` = 'jeecg', `create_time` = '2022-03-09 14:07:54', `update_by` = 'admin', `update_time` = '2022-04-29 19:52:54' WHERE `id` = '1501439614397119490';
报表 Issues
- 新增大功能:定时导出报表功能
- 放开数据集和报表创建数限制,满足开源用户需求
- 支持导出报表接口
- issues/2972 解决 jimureport 可上传任意文件漏洞
- 模版上传封面失败之后无提示
- 解决设计报告后无法保存,提示版本已过时严重问题
- 可以像 EXCEL 那样填报码?可以拆入行吗?・Issue #2971
- 积木报表 SQL 数据集使用存储过程每次预览未关闭 druid 连接池・Issue #2929
- 单元格中使用 concat 函数做字符串连接时错误・Issue #2969
- 动态交叉表中自定义文本排序不生效 #3107
- 文件夹加排序
- 优化样式,鼠标放上去选择框的样式
- 兼容国产数据库 TDengine | 涛思数据
- 文件夹点击名称时不要展开 / 收起
- 支持 clickhouse 数据库
- 分组设置 - 聚合方式,无法批量设置单元格
- 报表钻取,选择主表汉子字段为连接时候原始值不能下拉,为英文字段可以 #3110
- 填报模版添加完数据后点击 详情 404
- springboot3 1.8.1 多数据源报错・Issue #3130
- jeecg.jmreport.apiBasePath 配置自定义接口前缀的问题・Issue #3134
- ruoyiVue 集成积木报表,在线填报报表 token 校验失败・Issue #3147
- 在报表中插入图片后删除其他单元格内容图片会一起删除・Issue #3186
- 填报校验问题・Issue #3193
大屏 Issues
- 提供首个稳定版大屏设计器
- 放开数据集和仪表盘创建数限制,满足开源用户需求
- 仪表盘的静态资源无法访问・Issue #3124
- get 请求的大屏参数,拼接到了数据源后面・Issue #3138
- 自定义前缀,仪表盘报表静态资源出错 Issue #3115
- 新建数据大屏,保存时报错・Issue #3139
- 新仪表盘数据局表格分页 - 查询重置后,分页未重置・Issue #3148
- 1.9.0 版本仪表盘设计中 - 左侧添加统计卡片或简介卡片,编辑并选择动态数据源时,无法加载数据・Issue #7506
- 仪表盘数据表格能配置显示条数吗・Issue #3172
- 仪表盘设计 - 统计卡片和简介卡片,选择动态数据源时,无法展示和选择映射关系・Issue #7492
- 仪表盘 配置数据集 sql 时,根据租户 id 无法过滤数据・Issue #7503
- 数据集无法编辑和删除・Issue #3184
- 分享链接后对方需要输入用户名和密码,怎么能让不输入直接看 #3175
代码下载
- https://github.com/jeecgboot/JimuReport
技术文档
- 快速集成 :https://help.jeecg.com/jimureport/quick.htm
- 官方网站: http://jimureport.com
- 在线体验: http://jimureport.com/login
- 技术文档: https://help.jeecg.com/jimureport
为什么选择 JimuReport?
永久免费,支持各种复杂报表,并且傻瓜式在线设计,非常的智能,低代码时代,这个是你的首选!
- 采用 SpringBoot 的脚手架项目,都可以快速集成
- Web 版设计器,类似于 excel 操作风格,通过拖拽完成报表设计
- 通过 SQL、API 等方式,将数据源与模板绑定。同时支持表达式,自动计算合计等功能,使计算工作量降低
- 开发效率很高,傻瓜式在线报表设计,一分钟设计一个报表,又简单又强大
- 支持 ECharts,目前支持 28 种图表,在线拖拽设计,支持 SQL 和 API 两种数据源
- 支持分组、交叉,合计、表达式等复杂报表
- 支持打印设计(支持套打、背景打印等)可设置打印边距、方向、页眉页脚等参数 一键快速打印 同时可实现套打,不动产证等精准、无缝打印
- 可设计各种类型的单据、大屏,如出入库单、销售单、财务报表、合同、监控大屏、旅游数据大屏等
- 大屏设计器支持几十种图表样式,可自由拼接、组合,设计炫酷大屏
- 数据可视化,DataV、帆软的开源替代方案,比帆软拥有更好的体验和更简单的使用方式
- 积木报表官网 可以在线免费制作报表和大屏,手机号一键注册,便可永久使用。大屏采用类 word 风格,可以随意拖动组件,想怎么设计怎么设计,可以像百度和阿里一样,设计出炫酷的可视化大屏!重要的是:免费!免费!免费!
还没有评论,来说两句吧...