# 报表常见问题 >[danger] **升级日志 重要!!!** [点击查看](http://jimureport.com/doc/log) > 遇到问题请先升级至最新版,仍未解决可向团队反馈 [点击反馈问题](https://github.com/jeecgboot/JimuReport/issues/new) > [ >>大屏常见问题](http://report.jeecg.com/2293838) [TOC] ## 1. 积木报表是免费吗? 回答: 积木报表代码不开源,但是功能可以免费使用。 > 从积木报表v1.7.0 + 推出付费版本,免费版本会持续发布,不过部分功能会受到限制,以便于本项目更好的发展。 ## 2. 大屏支持离线安装吗? 不支持,大屏暂时不开源,可以永久免费在线使用! ## 3. 积木报表怎么独立运行? - [Docker方式启动](http://report.jeecg.com/2368854) - [集成Demo启动](https://github.com/zhangdaiscott/JimuReport/tree/master/jimureport-samples/jimureport-demo) ## 4. 启动报mongo错误 - 启动报错: ~~~ org.mongodb.driver.cluster : Exception in monitor thread while connecting to server localhost:27017 while accessing MongoDB with Java ~~~ - 解决方案: 排除mongo启动默认加载 MongoAutoConfiguration ~~~less @SpringBootApplication @EnableAutoConfiguration(exclude={MongoAutoConfiguration.class}) ~~~ ## 5. 配置报表到JeecgBoot菜单 ``` {{ window._CONFIG['domianURL'] }}/jmreport/list?token=${token} ``` 参数说明 - {{ window._CONFIG['domianURL'] }} :后台项目访问地址 - ${token} :登录token用于权限控制 - 前端组件:layouts/IframePageView 菜单配置截图 ![](https://img.kancloud.cn/2b/28/2b28f238e4433fa1059c98c2a6e776e0_665x910.png) ## 6. 积木报表支持哪些数据库? Version:`1.3.793+` 版本以上支持如下: | 序号 | 数据库 | 是否兼容 | 提供脚本 | | --- | --- | --- | --- | | 1 | mysql5.5+ | 支持 | 提供| | 2 | oracle11g | 支持 | 暂未提供 | | 3 | sqlserver2017 | 支持 | 暂未提供 | | 4 | PostgreSQL| 支持 | 暂未提供 | | 5 | MariaDB | 支持 | 暂未提供 | | 6 | 达梦 | 支持 | 暂未提供 | | 7 | 人大金仓 | 支持 | 暂未提供 | | 8 | 神通 | 支持 | 暂未提供 | | 9 | DB2 | 支持 | 暂未提供 | | 10 | SQLite| 支持 | 暂未提供 | | 11 | Derby| 支持 | 暂未提供 | | 12 | H2| 支持 | 暂未提供 | | 13 | Hsqldb| 支持 | 暂未提供 | | 14 | Reids| 支持 | 暂未提供 | | 15 | MongoDB| 支持 | 暂未提供 | * 支持的连接池,[详细使用请看这里!](http://report.jeecg.com/2084137) * 暂时只提供mysql脚本,其他数据库请自转 [Navicat工具mysql转库oracle步骤](https://my.oschina.net/jeecg/blog/4905722) ## 7. API数据源怎样实现条件查询? [具体请看这里。](http://report.jeecg.com/2032025) ## 8.报表集成到自己的springboot项目,请求参数如果后台接收的实体属性里没有,后台报错:`not marked as ignorable` ![](https://img.kancloud.cn/51/c4/51c429f0a98ff0d811f4141fc3b9d65d_1717x246.png) 解决方法:增加application.yml的配置`jackson.fail_on_unknown_properties: false` ![](https://img.kancloud.cn/cd/2f/cd2fbba217ddd24169e920ed09776609_599x168.png) ## 9.积木报表SQL数据集中sql语句加上limit在数据预览中报错? sql语句写法: ![](https://img.kancloud.cn/79/ba/79babe732fc13e44c1a18e45dcde7d19_1213x151.png) 报错截图: ![](https://img.kancloud.cn/f3/22/f3221cc6e0e50c11090a7aab03fa7f74_1871x213.png) ``` 原因是sql语句末尾加上了limit,我们在后台已经默认分页,故不用在末尾加上limit,否则会报错 ``` ## 10.如何去掉打印页面的页眉、页脚? 在打印弹窗页面,点击“更多设置 ->选项”,去掉“页眉和页脚”前边的对勾,打印界面就不显示页眉和页脚了; ![](https://img.kancloud.cn/df/67/df67bbf0e00cc6ee146fed64a460845e_1299x855.png) ## 11.打印不清晰的问题? 操作步骤参考:[http://report.jeecg.com/2084082](http://report.jeecg.com/2084082) ## 12.sql或者api解析失败的问题 sql或者api必须有查询结果才行,不然无法解析字段 相关issue[ #2305](https://github.com/zhangdaiscott/jeecg-boot/issues/2305) ## 13.怎样自定义打印页面设置? 打印区域除了可以手动选择“A4、A3...”,还可以根据自己需求,自定义大小。 操作步骤参考 [http://report.jeecg.com/2084081](http://report.jeecg.com/2084081) ; ## 14.预览时,列表数组在预览界面怎么只显示一条数据? (1)检查在数据集解析的时候 ,是否勾选“是否列表”; ![](https://img.kancloud.cn/ba/a4/baa4480b7bef3f5a6d97b984b32f1c73_1379x261.png) (2)设计界面拖过来的数据字段,是否为#开头; ![](https://img.kancloud.cn/2b/69/2b69d6c0292c35e7b63d7a6656abf933_967x302.png) ## 15.横向动态列分组怎么设计? 操作步骤参考:http://report.jeecg.com/2119055 ## 16.预览页面多内容,但设计界面没有,怎么处理? **错误样式图:** ![](https://img.kancloud.cn/b0/b9/b0b92a32634ef0adddf4cf17c053725f_841x470.png) **解决方案:** 选中多出来的地方(可多选一些地方),右键点击:删除数据,就没有了; ![](https://img.kancloud.cn/5c/2d/5c2d269ecf6763a15b95ee4de9a7970b_530x421.png) ## 17.积木报表SQL数据集中数据预览为什么只显示10条数据? ``` 为了避免大数据问题,故只取前10条数据进行展示 ``` ![](https://img.kancloud.cn/34/d6/34d6f116dcbe912732b9e34f87b4b7c5_1906x886.png) ## 18. 积木报表数据源怎么配置? [详细步骤,请点击这里查看!](http://report.jeecg.com/2084137) ## 19. 怎样把报表集成到JeecgBoot的菜单中? ``` 备注:大屏和报表的操作是一样的; ``` (1)复制报表访问链接 (2)在系统管理菜单管理进行配置 (3)点击新增按钮填写信息 ``` 注意: a) 前端组件必须按照格式填写 layouts/IframePageView *用window._CONFIG['domianURL']代替IP地址、端口号和项目名称,并用{{}}包起来; b)末尾必须携带参数,如(?sex); c) 是否为路由菜单:是; ``` ![](https://img.kancloud.cn/a5/3f/a53f48fa05ad94bd79f6f4837bf83932_702x591.png) (4)角色授权 路径:在系统管理->角色授权找到自己对应的角色,鼠标放到更多->授权; * **勾选刚才创建的菜单** * **刷新页面即可看见点击菜单** ![](https://img.kancloud.cn/49/7d/497d229dcb350c77a6b3613b582bb24e_842x398.png) ## 20. 数据集配置点击确认会报如下错误#439 * https://github.com/jeecgboot/JimuReport/issues/439 ``` 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前面 使用参数作为查询条件 [参数使用文档](http://report.jeecg.com/2373404) ## 23.预览页面与设计页面不一致,在预览时出现空白行 检查数据集是多条数据的集合,还是单条数据的对象;如果是集合使用`#`,如果是对象则需要使用`$` 如果页面多行使用`#`,则会被当做多个集合,中间自动填充空白行。 ![](https://img.kancloud.cn/86/e2/86e2a09c592e6a1a416d66cbd9417bc3_1065x77.png) ## 24.为什么配置参数后勾选查询后,下拉单选变成输入框 参数不是字段,无法进行配置后就可以下拉单选;可配置字典code实现下拉 ## 25.一页展示一条数据,进行循环打印 可将整页作为循环块,设置为循环块 参考文档:[点击查看](http://report.jeecg.com/2336796) ## 26.mysql数据库类型tyint被转换成了true和false 需要在维护界面,数据源地址出拼接上 ``` tinyInt1isBit=false ``` ![](https://img.kancloud.cn/85/a7/85a7dba2bbb08c634cf514e54263e818_1037x794.png) ## 27.数据库里图片字段为图片链接,如何展示在报表中 添加数据源取出图片字段,将单元格类型设置为图片即可,如下图: ![](https://img.kancloud.cn/48/0e/480ed3a6cc688fcec90d6c685096e080_833x391.png) ## 28. 达梦数据库提示表名不存在 ![](https://img.kancloud.cn/ac/c5/acc522e96a18a8db1a597461eeb36bb4_1754x351.png) 因为达梦数据库如果不是当前用户名登录的(如SYSDBA),访问不同名的(除了SYSDBA)外,均需要模式名.表名,那么需要你如下图操作,在同名下新建表 ![](https://img.kancloud.cn/d2/2e/d22e7876e650959d5e1d80a368abaf51_322x368.png) ## 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. 如何增加列数 列索引数量可根据需要修改 参考文档:[点击查看](http://report.jeecg.com/2302149) ![](https://img.kancloud.cn/ad/42/ad42dca363bbaccb9cb296e9d2fc0559_665x451.png) ## 35.sql数据集下拉选择数据源,下方列表显示空白,但是有数据 目前为了统一规则后台返回的数据的对象均为小写(name),如果规则不匹配,请改成小写 ![](https://img.kancloud.cn/d7/01/d701420abf68105410355271aced5bea_1366x567.png) ## 38.预览界面查询栏如何设置默认展开? 解决方案:设置JS增强 ![](https://img.kancloud.cn/b7/79/b77940b3b7fc9d09a5d45936572a0423_1281x504.png) ~~~ function init(){ this.queryPanel = '1'; } ~~~ ## 39.sqlServer存储过程中有临时表获取不到数据 可以通过`set nocount on`来解决 ![](https://img.kancloud.cn/e8/1f/e81f66eb744ed52b439e49a301039c4d_386x470.png) 相关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](https://github.com/jeecgboot/JimuReport/issues/867#issuecomment-1081634775) ## 41.模板示例中条件查询预览失败,没有对应表(rep_demo_dxtj) [查看专题](http://report.jeecg.com/2722501) ## 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一起使用 * 2. CONVERT函数需指定别名 如:CONVERT(varchar(7),CREATE_TIME) as CREATE_TIME ## 45.能否设置隐藏的查询条件 - 问题描述: 同一报表,希望不同的人看到不同的数据,目前可以通过JS增强设置初始值,但又不想让用户修改,能否提供设置查询条件隐藏的功能,这样便于数据权限的控制。 分析说明:此问题目的在于不同的人看不同的数据,提问人想设置查询条件默认值且不允许修改 - 1.不同的人看不同的数据:可以使用系统变量,参考文档:http://report.jeecg.com/2159712 如: ``` 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,而不是使用天数计算偏移量。 **解决方案:** 参考文档:[http://report.jeecg.com/2384072](https://gitee.com/link?target=http%3A%2F%2Freport.jeecg.com%2F2384072)中的升级功能 ## 47. 打印多出一页空白纸张 **解决方案:** 打印导出,空白行和没有行是有区别的,界面上都是空白没区别,但是实际数据存储,空白行会占位的。 查看控制台打印的数据:你的rows都多达90多行了,说明是之前你设计的很多历史数据没有**删除行**,导致多出很多空白页。 ![](https://img.kancloud.cn/3c/da/3cdaf100f7f2fc22f6d1e36c8884ea4e_1046x301.png) ## 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> ~~~