历史版本59 :Excel导入简介 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 学习视频

本文学习视频:Excel导入简介

1.2 功能简介

FineReport 支持填报时将 Excel 中的数据直接导入到填报页面,如下图所示:

11.gif

2. 导入方式编辑

目前支持的导入方式如下:

下表列出每种方式的说明和详细文档链接:

导入方式说明
Excel标记导入(官方推荐导入方式)
整合了原有的Excel导入逻辑和导入方式,可以智能识别Excel进行导入,适用于90%以上的导入场景。
多次导入有三种方式:清空,覆盖,增量。适用于不同场景和需求。
自定义导入
可以自由设置导入的列和行,支持对每个sheet设置不同的导入属性。
批量导入
通过决策平台导入 Excel,去除了预览的过程,在导入的同时实现提交数据。适用于大数据量的导入场景。

3. 导入逻辑编辑

导入逻辑需要安装Excel导入逻辑设置插件后才可以修改,目前的导入逻辑如下:

导入逻辑说明
位置匹配程序内置逻辑,无法通过设置修改。当Excel和模板预览时的样式完全一致时触发,会1:1导入Excel的数据。
根据标题匹配

默认逻辑。对Excel和模板中的标题进行比较,标题一致的则导入该列数据。需要至少匹配2列及以上标题时才会触发该逻辑。

单元格位置匹配识别到需要导入数据的区域后,按照Excel中的列顺序进行导入,不再判断标题是否一致。
显示值转换默认不开启。在提交入库时会将Excel导入的值作为实际值提交入库。开启后,可以根据单元格的数据字典设置,将Excel导入的值转化为对应的实际值入库。
双向扩展格导入

默认不开启。当模板中的导入区域表头存在横向扩展,而导入区域是纵向扩展时,需要勾选双向扩展格导入。

4. 导入支持场景编辑

由于Excel和帆软模板的自由化程度很高,所以无法保证兼容每一种场景。下面列出当前支持的和不支持的一些场景,以供参考。

4.1 支持场景


场景图示
1单行表头,表头部分无横向扩展
2单行表头,表头部分存在一个横向扩展
3导入区域上方有标题或其它不扩展的固定内容
4

导入区域下方有不扩展的固定内容

注:如果Excel中不存在这些内容,则可以直接导入。如果Excel中也存在这些内容,则需要使用自定义导入的选择导入行功能才可以正常导入数据。

5自由报表,不存在扩展单元格

4.2 不支持场景

注:如果模板预览时的样式和Excel完全一致,则会触发位置匹配,此时支持所有格式。以下不支持场景的前提是触发不了位置匹配。

序号场景图示
1多层表头
2表头部分多个横向扩展
3导入区域有多行扩展行
4导入区域里一个父格对应多个子格
5导入区域由多个数据集组成

5. 配置规范(重要)编辑

针对常见的一些Excel导入问题,以下总结几条模板配置的基础规范。

1)导入区域存在数据字段时,需要设置成列表展示。当前导入只支持列表。

2)导入区域的单元格,需设置成可扩展。其他部分则不建议设置为扩展,可能会干扰后台程序判断。

3)导入区域表头存在横向扩展,而导入区域是纵向扩展的场景,需要开启双向扩展格导入。

4)尽可能使用Microsoft Excel 2007及以上版本,对于WPS Excel和Microsoft Excel低版本不保证兼容。

5)建议模板的导入区域表头部分,设计成和Excel表头部分一致。

6. 注意事项编辑

1. 导入Excel时不会触发控件自身设置的校验规则,可以使用报表填报属性设置中的数据校验功能来设置。

2. 模板中设置了公式的单元格,如果在导入Excel时被Excel中的数据覆盖了,则无法再触发公式联动计算的效果。

3. 数据量(行*列)超过10w的导入,可以考虑使用 批量导入功能。

4. 10.0.19.2版本(2021.10.15jar)后,导入模板中如果存在汇总类计算公式(max,sum等),且涉及到的数据量较多的话,可能会触发智能运维的智能释放功能,造成Excel导入终止。此时可以简化公式,避免将公式放在扩展行中,或者联系技术支持协助优化。


5. 如果遇到所有Excel都无法导入的问题,可以检查下是否是因为网络限制,导致上传文件请求阻塞了。例如nginx的client_max_body_size设置,默认为1M,就会影响到文件上传和Excel导入,使得超过1M的文件无法上传。

6. 不支持导入图片。