历史版本34 :Excel导入时根据标题匹配 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

在 Excel 导入不定行报表,进行行式报表填报时,默认根据标题匹配,即只要设计器报表中的标题与 Excel 中标题相同即可被导入,与列的位置无关。

1605749056112963.png

1.2 功能介绍

1)导入的 Excel 数据将根据列标题(纵向扩展,横向扩展则是行标题)自动匹配。

2)标题不相同时,显示为空白,即必须保持标题一致。

3)根据标题匹配与位置无关,列的位置可以互换。

4)在进行不定行导入时首先进行标题匹配,标题匹配不成功再 根据位置匹配

2. 示例编辑

2.1 准备模板

打开模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject|\ExcelImport\导入Excel根据标题匹配.cpt

将「产品名称」和「类别」列名称修改为「产品」和「类别 ID」,与 Excel 不一样,同时更换「类别」和「供应商」列的位置。为  A2 ~J2 单元格添加 「文本控件」 ,并且设置单元格扩展为「纵向扩展」,并将如下图所示:

1606110609894369.png

注:如果不添加控件,导入后只能查看数据,无法进行填报操作。但是这里是导入不定行,不论是否根据控件导入,必须保证左父格是可扩展的。

2.2 设置填报属性

点击「模板>报表填报属性」,选择「智能提交」类型,智能添加 FRDemo 中产品表的对应字段,并智能添加对应的单元格,步骤如下图所示:

1607332864253569.png

2.3 效果预览

1)保存报表,点击「填报预览」,单击工具栏上的导入 Excel 按钮,选择下载的 Excel 数据文件 excelimport.xls ,修改了列标题名称的数据无法导入。效果如下图所示:

1606111118440025.gif

2)当标题名称一致时,效果如下图所示:

1606111397808629.gif

3. 模板下载编辑

已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\ExcelImport\导入Excel根据标题匹配.cpt

点击下载模板:导入Excel根据标题匹配.cpt

点击下载 Excel 数据文件:excelimport.xls

4. 注意事项编辑

4.1 不根据标题匹配

4.1.1 应用场景

在 Excel 导入不定行,进行行式报表填报时,默认先「根据标题匹配」,若匹配标题数小于 2,则执行 根据位置匹配 。然而在导入数据时,部分用户希望,无论匹配标题数为多少,数据均「根据位置匹配」。

4.1.2 实现方法

下载安装 Excel导入逻辑设置 插件,安装后点击「模板> Excel 导入配置」,选择「仅单元格位置匹配」即可。详情可参见 Excel 导入逻辑设置插件

1605239322618629.png

4.2 标题相同列只匹配前一列

若设计器设计的表格中有两列标题相同,而 Excel 文件中同一标题的数据只有一列,如下图所示:

1608191401859699.png

导入 Excel 时,只匹配前一列数据,后面的列数据为空,如下图所示:

1608192550339708.png

如果希望两列均匹配只能在 Excel 中复制一列,与复制列位置无关。但标题相同列只适用于前端展现,填报入库只能有一个字段。