常见问题
遇到问题请先升级至最新版,仍未解决可向团队反馈 点击反馈问题
1. 积木报表是免费吗?
回答: 积木报表代码不开源,但是功能可以免费使用。
从积木报表v1.7.0 + 推出企业版本,免费版本会持续发布,公司用户可以选择企业版。
2. 大屏支持离线安装吗?
支持,积木BI的推出,可以永久免费使用!
3. 积木报表怎么独立运行?
4. 启动报mongo错误
- 启动报错:
org.mongodb.driver.cluster : Exception in monitor thread while connecting to
server localhost:27017 while accessing MongoDB with Java
- 解决方案: 排除mongo启动默认加载 MongoAutoConfiguration
@SpringBootApplication
@EnableAutoConfiguration(exclude={MongoAutoConfiguration.class})
5. 报表配置JeecgBoot菜单
{{ window._CONFIG['domianURL'] }}/jmreport/list?token=${token}
参数说明
{{ window._CONFIG['domianURL'] }}
:后台项目访问地址${token}
:登录token用于权限控制- 前端组件:layouts/IframePageView 菜单配置截图
6. 积木报表数据源支持哪些数据库?
数据库 | 支持 |
---|---|
MySQL | √ |
Oracle、Oracle9i | √ |
SqlServer、SqlServer2012 | √ |
PostgreSQL | √ |
DB2、Informix | √ |
MariaDB | √ |
SQLite、Hsqldb、Derby、H2 | √ |
达梦、人大金仓、神通 | √ |
华为高斯、虚谷、瀚高数据库、 TDengine 涛思数据 | √ |
阿里云PolarDB、PPAS、HerdDB | √ |
Hive、HBase、CouchBase | √ |
导入Excel、csv、json文件数据集 | √ |
sqllite、TiDB、Doris、clickhouse、 MongoDB-BI | √ |
elasticsearch、mogodb | √ |
- 积木平台暂时只提供mysql脚本,其他数据库请自转 Navicat工具mysql转库oracle步骤
7. API数据源怎样实现条件查询?
8.报表集成到自己的springboot项目
请求参数如果后台接收的实体属性里没有,后台报错:not marked as ignorable
解决方法:增加application.yml的配置jackson.fail_on_unknown_properties: false
9.积木报表SQL数据集中sql语句加上limit在数据预览中报错?
sql语句写法:
报错截图:
原因是sql语句末尾加上了limit,我们在后台已经默认分页,故不用在末尾加上limit,否则会报错
10.如何去掉打印页面的页眉、页脚?
在打印弹窗页面,点击“更多设置 ->选项”,去掉“页眉和页脚”前边的对勾,打印界面就不显示页眉和页脚了;
11.报表能否集成到vue项目中?
不能集成到前端项目,因为积木报表提供的JAVA依赖,只能集成到JAVA项目中。
12.sql或者api解析失败的问题
sql或者api必须有查询结果才行,不然无法解析字段 相关issue #2305
13.怎样自定义打印页面设置?
打印区域除了可以手动选择“A4、A3...”,还可以根据自己需求,自定义大小。
14.预览时,列表数组在预览界面怎么只显示一条数据?
(1)检查在数据集解析的时候 ,是否勾选“是否列表”;
(2)设计界面拖过来的数据字段,是否为#开头;
15.横向动态列分组怎么设计?
16.预览页面多内容,但设计界面没有,怎么处理?
错误样式图:
解决方案: 选中多出来的地方(可多选一些地方),右键点击:删除数据,就没有了;
17.积木报表SQL数据集中数据预览为什么只显示10条数据?
为了避免大数据问题,故只取前10条数据进行展示
18. 积木报表数据源怎么配置?
19. 怎样把报表集成到JeecgBoot的菜单中?
备注:大屏和报表的操作是一样的;
(1)复制报表访问链接 (2)在系统管理菜单管理进行配置 (3)点击新增按钮填写信息
注意:
a) 前端组件必须按照格式填写 layouts/IframePageView *用window._CONFIG['domianURL']代替IP地址、端口号和项目名称,并用{{}}包起来;
b)末尾必须携带参数,如(?sex);
c) 是否为路由菜单:是;
(4)角色授权 路径:在系统管理->角色授权找到自己对应的角色,鼠标放到更多->授权;
- 勾选刚才创建的菜单
- 刷新页面即可看见点击菜单
20. 数据集配置点击确认会报错
SQL state \[null\]; error code \[0\]; Error; nested exception is java.sql.SQLException: Error
那么就查看mysql数据库连接驱动是版本是5.1.47,如果是那么请将驱动升级版本或降低版本,如:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
<optional>true</optional>
<scope>runtime</scope>
</dependency>
22.如何把SQL数据集拼接的查询条件加到数据源语法的group by前面
23.预览页面与设计页面不一致,在预览时出现空白行
检查数据集是多条数据的集合,还是单条数据的对象;如果是集合使用#
,如果是对象则需要使用$
如果页面多行使用#
,则会被当做多个集合,中间自动填充空白行。
24.为什么配置参数后勾选查询后,下拉单选变成输入框
参数不是字段,无法进行配置后就可以下拉单选;可配置字典code实现下拉
25.一页展示一条数据,进行循环打印
可将整页作为循环块,设置为循环块 参考文档:点击查看
26.mysql数据库类型tyint被转换成了true和false
需要在维护界面,数据源地址出拼接上
tinyInt1isBit=false
27.数据库里图片字段为图片链接,如何展示在报表中
添加数据源取出图片字段,将单元格类型设置为图片即可,如下图:
28. 达梦数据库提示表名不存在
因为达梦数据库如果不是当前用户名登录的(如SYSDBA),访问不同名的(除了SYSDBA)外,均需要模式名.表名,那么需要你如下图操作,在同名下新建表
29. 积木官网添加数据源
积木官网添加数据源需使用远程地址,不可使用localhost。
32.字典code中直接输入sql语句,下拉框单选项乱序
解决方案:可以填写 order by 进行自定义排序,如
select dict_code as value,dict_name as name from jimu_dict order by create_time
注意:如果在sqlserver下需要加上top 10(10代表多少条),不然会报错,如
select top 10 dict_code as value,dict_name as name from jimu_dict order by create_time
33.导出excel报错版本不匹配,java.lang.NoSuchMethodError
将poi版本升级到4.1.2即可解决
34. 如何增加列数
列索引数量可根据需要修改 参考文档:点击查看
35.sql数据集下拉选择数据源,下方列表显示空白,但是有数据
目前为了统一规则后台返回的数据的对象均为小写(name),如果规则不匹配,请改成小写
38.预览界面查询栏如何设置默认展开?
解决方案:设置JS增强
function init(){
this.queryPanel = '1';
}
39.sqlServer存储过程中有临时表获取不到数据
可以通过set nocount on
来解决
相关issue: https://github.com/jeecgboot/JimuReport/issues/726
40.若依集成积木报表1.4.4+
新建报表报错
freemarker.core.InvalidReferenceException
升级fastjson到1.2.78
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.78</version>
</dependency>
相关issue:issue
41.模板示例中条件查询预览失败
42.打印的时候,字体加粗效果丢失
宋体打印不支持加粗,换成默认的字体
43.sqlserver提示驱动不存在
在pom文件中添加sqlserver依赖
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
<optional>true</optional>
<scope>runtime</scope>
</dependency>
44.sqlserver下使用CONVERT函数注意事项
-
- 不可与order by一起使用
-
- CONVERT函数需指定别名 如:CONVERT(varchar(7),CREATE_TIME) as CREATE_TIME
45.能否设置隐藏的查询条件
-
问题描述: 同一报表,希望不同的人看到不同的数据,目前可以通过JS增强设置初始值,但又不想让用户修改,能否提供设置查询条件隐藏的功能,这样便于数据权限的控制。 分析说明:此问题目的在于不同的人看不同的数据,提问人想设置查询条件默认值且不允许修改
-
1.不同的人看不同的数据:可以使用系统变量 参考文档 如:
sql数据集:select * from demo where create_by = '#{sysUserCode}'
api数据集: http://xxx.xxx.xxx/query?create_by=#{sysUserCode}
注意:此处的`sysUserCode`,是系统默认设置的登录人的账号,如果重写getUserInfo方法则需要重新设置,文档中的代码,只适用于jeecg-boot不可照搬,仅供参考【推荐此方案】。
- 2.想设置查询条件默认值且不允许修改: js增强可以设置查询条件的默认值,也可以往查询参数对象里设置一个自定义的参数值,这个是支持的。但是,在配置数据集的时候,下方tab报表字段明细和报表参数中,会配置一些字段的信息,如果js增强定义的参数名不在这两个tab下,那么无效!所以做法如下:
定义数据集(不需要将参数name设置为查询条件):
sql数据集:select * from demo where create_by = '${name}'
api数据集: http://xxx.xxx.xxx/query?create_by=${name}
定义js增强,设置name的值:
function init(){
this.queryInfo['name'] = 'scott'
}
46. 日期默认查询,无法设置默认值为上月
- 问题描述: 使用dateStr 默认取上月实现不了,用=concat(dateStr('yyyy'),'-', dateStr('MM', -1))返回2021-9,不是2021-09,少了一位。 建议实现=dateStr('yyyy-MM',-1) 返回 2021-09,而不是使用天数计算偏移量。
解决方案: 参考文档 中的升级功能
47. 打印多出一页空白纸张
解决方案: 打印导出,空白行和没有行是有区别的,界面上都是空白没区别,但是实际数据存储,空白行会占位的。
查看控制台打印的数据:你的rows都多达90多行了,说明是之前你设计的很多历史数据没有删除行,导致多出很多空白页。
48. mongodb用法
1). 以授权的方式启动Mongo,给使用的数据库添加用户
-
切换数据库
use test
-
创建用户
db.createUser({user: "root", pwd: "123456", roles: \[{ role: "dbOwner", db: "test" }\]})
参考博客:https://www.cnblogs.com/jacksoft/p/6916137.html
2). mongodb-driver-sync 驱动集成用法 参考博客: https://blog.csdn.net/nyzzht123/article/details/107936552 https://www.jianshu.com/p/5186fb5a1292
49、出现jsqlparser不兼容问题
- 如果出现jsqlparser不兼容问题,请这么引用
<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-spring-boot-starter</artifactId>
<version>{版本号}</version>
<exclusions>
<exclusion>
<artifactId>minidao-spring-boot-starter</artifactId>
<groupId>org.jeecgframework</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jeecgframework</groupId>
<artifactId>minidao-spring-boot-starter</artifactId>
<version>1.8.8</version>
</dependency>
50、关于积木报表在开发、生产环境增量同步https://github.com/jeecgboot/JimuReport/issues/1928
51、数据库字段为关键词,字段作为查询条件报错
报错信息:发现mysql下关键词字段"year_month"缺少"`"
SELECT COUNT(1) total FROM ( select * from (select `year_month`,name,age from `demo`) jeecg_rp_temp where year_month=? ) temp_count
解决方案:关键词字段请用as重命名一下

52、依赖redisson
后编辑字典、查询字典报错:
java.lang.IllegalArgumentException: Cannot find cache named 'jmreport:cache:dict' for Builder报错信息:
解决方法:配置文件增加:
spring:
cache:
type: redis
53、未登录的情况下导出excel和pdf报错
解决方案:在
SpringSecurityConfig
页面排除导出excel和导出pdf的请求地址,其他同理

.antMatchers("/jmreport/exportPdfStream", "/jmreport/exportAllExcelStream")