Excel导入行式报表

编辑
  • 文档创建者:印然
  • 浏览次数:16848次
  • 编辑次数:18次
  • 最近更新:jiangsr 于 2019-03-05
  • 1. 描述

    对于行式填报表的在线导入Excel,在6.5.5之前版本前需要和Excel数据复制到填报单元格一样,在导入Excel前手动增加足够的行数才能进行导入;
    从7.0版本开始,FR对此功能进行了改进,在导入Excel时,会根据Excel中的记录数自动扩展出需要的行数。
    1.1 必要条件
    导入固定行:Excel中的第一行导入数据的位置必须是可编辑的即需要设置对应单元格的控件设置
    导入不定行:除了需要为单元格添加控件之外,且还要设置扩展属性从上到下扩展或者从左到右扩展(只需要给左父格或者上父格设置扩展方向即可)。
    1.2 是否按控件导入
    默认不按照控件导入,即不需要给单元格添加控件就可以直接导入Excel。导入固定行报表无需其他设置,只要位置对应,直接导入即可;导入不定行报表只需要给单元格设置扩展属性,无需添加控件。
    对应的数据设置存储在finedb里的FINE_CONF_ENTITY表中,字段为:CustomConfig.checkWidget,默认值为false,如下所示:

    如果想要设置按照控件导入,只需要将值改为true,然后重启服务器即可,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导入错位


    附件列表


    主题: 专题总结
    如果您认为本文档还有待完善,请编辑

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

    此页面有帮助吗?只是浏览 [ 去社区提问 ]