跳到主要内容

常见问题

遇到问题请先升级至最新版,仍未解决可向团队反馈 点击反馈问题

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

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函数注意事项

    1. 不可与order by一起使用
    1. 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")