产品版本 | 最低JAR包要求 | 插件版本 |
---|---|---|
FR10.0 | 2021-01-25 | V1.3 |
1.概述编辑
1.1 应用场景
原有的Excel导入功能虽然不需要做什么设置,但其支持的场景也相对有限。在遇到一些复杂场景的时候,经常会出现导入空白,数据错位、缺失的问题。
如果遇到原有Excel导入功能无法支持当前模板的格式,想要对每个模板设置不同的导入逻辑,有自定义选择某个sheet导入的需求,希望对每个sheet使用不同导入方式等场景,则可以使用此插件。
1.2 功能说明
Excel标记导入整合了所有原有的Excel导入逻辑和导入方式,其支持的格式更多。同时,标记导入也多了一些新的功能和设置。具体功能清单如下:
支持清空、覆盖、增量三种导入方式
支持纵向、横向两种导入方向
支持对导入值进行显示值和实际值的转换
支持按照位置导入数据区域以外的内容
支持自由选择Excel的某个sheet导入
支持导入时记住本次导入配置
1.3 功能限制
1.3.1 不支持的格式
标记导入支持了大部分的格式,所以仅将不支持的格式列在下方。
场景 | 图示 | |
---|---|---|
1 | 存在斜线的单元格无法识别 | ![]() |
2 | 多数据区域无法导入 | ![]() |
1.3.2 不支持的场景
不支持新填报预览
不支持移动端
不支持断开的导入区域
1.4 模板设计规范(重要)
标记导入需要遵循的模板设计规范如下:
数据区域存在数据字段时,需要设置成列表展示。当前导入只支持列表。
数据区域的单元格,需设置成可扩展。
尽可能使用Microsoft Excel 2007及以上版本,对于WPS Excel和Microsoft Excel低版本不保证兼容。
2.插件介绍编辑
2.1 插件安装
点击下载插件:
设计器插件安装方法请参见:设计器插件管理
服务器安装插件方法请参见:服务器插件管理
2.2 设置说明
2.2.1 模板设置
设置入口为「模板>Excel导入标记」。
设置名称 | 说明 |
---|---|
表名 | 显示当前设置的sheet页,每个sheet页需要单独设置导入标记 |
标题区域 | 用于标记模板中的标题区域,例如A1:D1,不支持断开的区域 |
内容区域 | 用于标记模板中的内容区域,例如A2:D2,不支持断开的区域 |
导入方向 | 分为纵向和横向。其适用场景如下图所示: 纵向(预览时标题为横向,而数据需要纵向导入) 横向(预览时标题为纵向,而数据需要横向导入) 大部分导入Excel场景都适用「纵向」 |
形态设置 | 勾选后,会按照单元格数据字典设置,在提交时将导入值转换为实际值入库。具体效果可参考:Excel导入显示值转换 |
导入区域外部分 | 勾选后,会将Excel中数据区域以外的内容进行导入,且这部分在导入时执行的是按位置匹配。 |
2.2.2 工具栏设置
设置入口为「模板>模板web属性>填报页面设置」。
2.2.3 预览设置
设置入口为填报预览时点击工具栏的「标记导入」。
设置名称 | 说明 |
---|---|
sheet名称 | 会自动读取Excel中的所有sheet以供选择,在导入时会将勾选的sheet按设置进行导入 |
标题区域 | 用于标记Excel中的标题区域,例如A1:D1,不支持断开的区域 |
内容区域 | 用于标记Excel中的内容区域,例如A2:D2,不支持断开的区域 |
导入位置 | 标记需要导入到模板中的哪个sheet |
导入方式 | 设置导入方式,共有三种:清空、覆盖、增量 |
保存设置 | 类似于暂存,会根据用户名和模板名称,记住本次的导入设置。勾选后在下次导入时,会保留除了内容区域以外的设置。去除勾选后,则会清空所有导入设置。 |
3.示例编辑
3.1 模板准备
设计模板和Excel如下:
模板
Excel
3.2 设置模板导入标记
打开「模板>Excel导入标记」,按下图所示设置:
3.3 添加标记导入按钮
打开「模板>模板web属性>填报页面设置」,选择「为该模板单独设置」,双击「标记导入」添加到工具栏。
3.4 预览模板设置
选择填报预览,点击工具栏的「标记导入」按钮选择需要导入的Excel,之后按下图所示设置导入标记:
3.5 效果预览
4.文件下载编辑
5.注意事项编辑
5.1 单元格初始加载后才支持导入数据
单元格需要初始加载后,才可以导入对应数据。如果遇到标记导入设置无误,但单元格无法导入数据的现象,可以排查下是否是因为该单元格没做任何设置,从而没有初始加载造成的。例如下图所示,如果在勾选了「区域外内容导入」且位置对应无误的情况下,C2和H10依然无法导入数据,可以尝试在制作模板时给C2和H10任意填入内容后再删除来解决。
5.2 和原有Excel导入功能的对比
5.2.1 格式支持度
格式 | 原Excel导入 | 标记导入 | |
---|---|---|---|
1 | 单行表头,表头部分无横向扩展 | 支持 | 支持 |
2 | 单行表头,表头部分存在一个横向扩展 | 支持 | 支持 |
3 | 自由报表,不存在扩展单元格 | 支持 | 支持 |
4 | 导入数据区域以外部分 | 不支持 | 支持 |
5 | 多层表头 | 不支持 | 支持 |
6 | 表头部分多个横向扩展 | 不支持 | 支持 |
7 | 导入区域有多行扩展行 | 不支持 | 支持 |
8 | 导入区域由多个数据集组成 | 不支持 | 支持 |
5.2.2 功能对比
功能 | 原Excel导入 | 标记导入 | |
---|---|---|---|
1 | 导入方式 | 不同导入方式需要使用不同的按钮 | 可以在一个按钮中同时实现清空、覆盖、增量导入设置 |
2 | 多sheet | 不支持自由选择Excel中的某个sheet导入 | 支持自由选择Excel中的某个sheet导入,支持将多个sheet导入到一个页面中 |
3 | 导入方向 | 不支持横向导入 | 支持横向导入 |
4 | 导入时的设置 | 可以直接导入,无需额外设置 | 需要在导入时设置标题和内容区域,支持记住当前配置 |
5.3 JS接口
FR.MarkExcelImport.markImportExcel()
5.4 导入配置存储位置
在导入时勾选保存设置后,会将相关信息存储到finedb中,具体位置如下图所示:
fine_excel_mark_conf 表
fine_excel_mark_sheet_conf 表