核心企业

CORE ENTERPRISE
当前位置:网站首页>软件开发 > 正文内容

EOS报表使用经验

 

一  使用经验

  1. 在开发报表时,studio的内存最少设到512M,减少因数据量过大导致studio重启。(着重强调一下,在开发报表项目时,一定不要忘了设jvm参数)
  2. 有多个展开区域,且展开区域包含的字段很多时,建议先展开最大的,方便可以拖动变更展开区域。
  3. 报表导出excel最大支持:65535行*256列,当大于2.8万条记录易OutOfMemory,这时考虑用eos查询向导实现或用钻取来代替。
  4. 报表的客户端最低配置:IE6.0+offic03,在IE5或offic2k环境下运行报表易出无规律的故障
  5. 开发报表时尽量少用特殊字体或很花哨的字体,建议采用宋体。
  6. 使用EOS数据源开发报表,展现在报表上全为string型,考虑到excel中进行运算用Number(row[“field”])来表示。
  7. 如何显示行号:row[0]
  8. 当报表查询列表为大数据量时,建议少用“同值融合”功能。用户场景:客户一般把查询结果导出为excel进行查看,数据量较大时,一屏一屏翻页较麻烦,此时客户通过excel的“筛选”功能查询出想要的数据,当采用“同值融合”时,“筛选”功能会把这些数据忽略掉,建议填充方式设置为复制数据。
  9. EOS数据源方式开发报表,适合记录条数<5000
  10. 报表导出excel数值列不能参与计算(有好几位客户还问过这个问题,所以明确一下),这个bug在0318的补丁中已得到解决。
  11. 在非winodws环境下运行带有斜线、图形的报表,需要在Java虚拟机的启动命令中加上参数:-Djava.awt.headless=true
  12. 报表中含有图表,尽量不要使用合并单元格的方式来放图表,而是将一个单元格拉宽放大来处理。采用合并单元格的方式,特别是合并很多,速度会很慢(10倍左右的差距)。
  13. 统一配置报表数据源:修改%EOS_HOME%/config/reportconfig.xml中的getConnectionByEOSConfig参数为true,表示所有采用jdbc数据源的报表从eosconfig.xml中获取数据源。
  14. 图形报表的系列的名称,是一个公式,不能直接填写汉字名称(如:元素值),因此需要用引号括起来,比如:“元素值”或row[“field”]。
  15. 预览报表时,建议“提交参数值”设置为带有限制性的条件,不要设为“%”;提交参数值不做过滤, STUDIO会因查询出大数据量导致Studio异常退出。
  16. 在JDBC数据源方式下,查询的条件对应数据库的字段,必须为非空字段。field like ‘%’不包含field is null(如需实现查询条件包含field is null的记录,可以使用EOS数据源的方式开发报表)
  17. 图表不支持交叉字段集和聚合函数。
  18. 在多数据集的报表中,数据集之间的关系要么是包含关系系,要么并列关系,多数据集之间不能存在交叉。
  19. 单元格引用函数是个很有用的函数(感觉报表demo很少有场合用它),特别是在多数据集的场合,例:rcell(0,-1)表示引用当前行左边的单元格,但目前只支持相对引用,不支持绝对引用。
  20. 在服务器上每执行一次新的报表,都会往eosserver\reportServer\output写一个报表的临时文件,而目前这些临时文件是不会自动删除的,当运行过的报表过多时容易造成空间的浪费,甚至会造成硬盘上可用的空间过小,这是一个隐患 ,建议大家每隔一段时间清理一下这个目录下的文件。

二  常见异常

异常一:数据源连接正常,报表预览出现java.lang.NullPointerException
  原因:未给字段集设置展开区域。

  异常二:控制台抛以下异常:com.primeton.report.server.ReportServerException: BL_generateReport:运行报表错误。
  一种原因是BL_generateReport方法的参数设置有问题(注意:BL方法默认第3、4个参数为变量,节点路径为"/",如修改为常量是会报错的。)
  另一种是报表设置有问题(一般情况下第二种原因居多)

  异常三:预览报表抛Connection has not open
  原因:使用eos数据源方式,导入的xml测试文件不合法或数据不正确

新疆快3