1. 概述编辑
2. 导入方式编辑
目前支持的导入方式如下:
下表列出每种方式的说明和详细文档链接:
导入方式 | 说明 |
---|---|
普通导入 | 默认的导入按钮功能,会按照设置的导入逻辑执行导入,等同于覆盖导入。 |
多次导入 | 有三种方式:清空,覆盖,增量。适用于不同场景和需求。 |
标记导入 | (推荐)整合了所有原有的Excel导入逻辑和导入方式,其支持的格式和功能更多。 |
自定义导入 | 可以自由设置导入的列和行,支持对每个sheet设置不同的导入属性。 |
批量导入 | 通过决策平台导入 Excel,去除了预览的过程,在导入的同时实现提交数据。适用于大数据量的导入场景。 |
3. 导入逻辑编辑
导入逻辑需要安装Excel导入逻辑设置插件后才可以修改,目前的导入逻辑如下:
导入逻辑 | 说明 |
---|---|
位置匹配 | 程序内置逻辑,无法通过设置修改。当Excel和模板预览时的样式完全一致时触发,会1:1导入Excel的数据。 |
根据标题匹配 | 默认逻辑。对Excel和模板中的标题进行比较,标题一致的则导入该列数据。需要至少匹配2列及以上标题时才会触发该逻辑。 |
单元格位置匹配 | 识别到需要导入数据的区域后,按照Excel中的列顺序进行导入,不再判断标题是否一致。 |
显示值转换 | 默认不开启。在提交入库时会将Excel导入的值作为实际值提交入库。开启后,可以根据单元格的数据字典设置,将Excel导入的值转化为对应的实际值入库。 |
双向扩展格导入 | 默认不开启。当模板中的导入区域表头存在横向扩展,而导入区域是纵向扩展时,需要勾选双向扩展格导入。 |
注:「标记导入」有自己的导入逻辑,不受此导入逻辑设置插件的影响。
4. 导入支持场景编辑
由于Excel和帆软模板的自由化程度很高,所以除了「标记导入」外的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. 不支持导入图片。