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

目录:

1. 概述编辑

1.1 应用场景

在 Excel 导入不定行报表,进行行式报表填报时,默认根据标题匹配。

1605254045167905.png

1.2 功能介绍

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

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

注2:根据标题匹配与位置无关,列的位置可以互换。

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

2. 示例编辑

2.1 准备模板

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

将产品名称和类别列名称修改为产品和类别 ID,与 Excel 不一样,同时更换类别和供应商列的位置,再为  A2 ~J2 单元格添加 控件 ,此处添加文本控件,如下图所示:

1605253641633885.png

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

2.2 设置填报属性

点击模板>报表填报属性,智能添加 FRDemo 中产品表的所有字段,如下图所示:

1605251219706114.png

2.3 效果预览

保存报表,点击填报预览,单击工具栏上的导入 Excel 按钮,选择下载的 Excel 数据文件 excelimport.xls 。如下图所示:

1605253172358339.png

3. 模板下载编辑

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

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

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

4. 不根据标题匹配编辑

4.1 应用场景

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

4.2 方法一:使用内置插件

点击模板> Excel 导入配置,选中仅单元格位置匹配。

1605239322618629.png

注:详情参见 Excel 导入逻辑设置插件

4.3 方法二:修改配置信息

修改 FineDB 中 fine_conf_entity 表的值,默认为 true,修改为 false。具体如下表所示:

ID
  值含义
 CustomConfig.excelImportAttr.importMatchTitle   true 根据标题匹配
  false 根据位置匹配

修改 FineDB 数据库表的方法参见文档:如何使用第三方管理软件连接报表内置 HSQL 数据库 FineDB

设置完成之后,重启报表服务器,此时再导入 Excel,就会 根据位置匹配 。