Excel导入行式报表

目录:

1. 描述

对于行式填报表的在线导入Excel,在6.5.5之前版本前需要和Excel数据复制到填报单元格一样,在导入Excel前手动增加足够的行数才能进行导入;
从7.0版本开始,FR对此功能进行了改进,在导入Excel时,会根据Excel中的记录数自动扩展出需要的行数。
注:若excel导入数据中有日期类型,日期类型可能会发生错乱或空的情况;在jar包版本为2018.4.10及之后,此问题得到修复,日期控件能识别的格式就保留,否则转换为yyyy-MM-dd HH:mm:ss格式
1.1 必要条件
导入固定行:Excel中的第一行导入数据的位置必须是可编辑的即需要设置对应单元格的控件设置
导入不定行:除了需要为单元格添加控件之外,且还要设置扩展属性从上到下扩展或者从左到右扩展(只需要给左父格或者上父格设置扩展方向即可)。
1.2 是否按控件导入
如果不想为单元格添加控件就直接导入Excel,即可通过修改配置文件控制是否按控件导入,默认按照控件导入。如果设置不按照控件导入,那么导入固定行报表无需其他设置,只要位置对应,直接导入即可,导入不定行报表只需要给单元格设置扩展属性,无需添加控件。
打开%FR_HOME%\WebReport\WEB-INF\resources下面的customconfig.xml文件,如下图:
注:如果没有该文件,则复制config.xml至该文件夹中,并重命名为customconfig.xml。
在xml文件最后</ReportServerParameter>前面插入一句<CheckWidget check = "false"/>,设置其不按照控件导入,如下图:
保存文件,重启服务器,Excel导入行式报表的时候就可以不添加控件了。

2. 导入逻辑

随着Excel导入功能的逐渐完善,至当前版本为止,导入Excel有两种逻辑,最大程度上满足了用户对Excel导入填报的需求。
注:导入的CPT中不要添加控件,否则在导入行数过多时容易造成页面加载缓慢。
2.1 根据标题匹配
模板从首列标题名开始,逐一到excel中去匹配,发现列名相同的导入数据,列名不同或不存在则不导入数据,如下图:
注:根据标题匹配必须要匹配2列或者2列以上的标题才可以。
详细请查看根据标题匹配
2.2 根据位置匹配
即在设计器中设计报表样式时,需要导入数据的单元格的位置与excel中数据所在位置保持一致,标题名不需要一样,如下图所示:
详细请查看根据位置匹配

3. 分类

根据Excel到行式报表的报表的扩展性不同,我们按照一下几个分类来分别讲述。
Excel导入行式报表包括固定行导入、不定行导入和双向导入
3.1 Excel导入固定行
FineReport模板中的单元格不可扩展,在模板中手动添加固定的行数,单元格无需设置扩展性,用来导入Excel中相同行数的数据,Excel导入固定行的执行逻辑是按照位置匹配,详细清查Excel导入固定行
3.2 Excel导入不定行
Excel导入不定行是指需要导入的Excel数据行数不确定,通过设置FineReport模板中单元格的扩展性来导入不定行,单元格必须设置可扩展才可以导入。
Excel导入不定行根据实际情况的不同其执行逻辑会有所不同,首先根绝标题匹配,如果标题匹配不成功则按照位置匹配。
3.3 双向导入
双向导入就是指标题行列是从单元格扩展得到的,并将导入的数据也是可扩展的,详细请查看Excel导入之双向导入
若在报表环境中可以正确导入Excel,而在您自己的项目中导入Excel时提示“正在加载”最后无法导入数据,请查看您项目中的过滤器是否对请求设置了拦截。


索引:

根据标题匹配

根据位置匹配

Excel导入固定行

Excel双向导入

Excel导入错位

附件列表


主题:
标签: 已验证 9.0验证

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201