1. 概述编辑
1.1 应用场景
在 Excel 导入不定行,进行行式报表填报时,默认根据标题匹配。
1.2 功能介绍
导入的 Excel 数据将根据列标题(纵向扩展,横向扩展则是行标题)自动匹配。
注意事项:
1)标题不相同时,显示为空白,即必须保持标题一致。
2)根据标题匹配与位置无关,列的位置可以互换。
3)在进行不定行导入的时候首先进行标题匹配,标题匹配不成功再 根据位置匹配。
2. 操作步骤编辑
2.1 准备模板
打开模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject|\ExcelImport\导入Excel根据位置匹配.cpt
删除左方和下方的空白行,将产品名称和类别列名称修改为产品和类别 ID,与 Excel 不一样,同时更换类别和供应商列的位置,再为每个单元格添加 控件 ,此处添加文本控件,如下图所示:
注:如果不想添加 控件类型 ,可以设置 不按照控件导入 ,但是这里是导入不定行,不论是否根据控件导入,必须保证左父格是可扩展的。
2.2 修改报表填报属性
修改报表填报属性中列和数据库中列的对应,这里只需要修改类别 ID 对应的值,修改为 map(C2, "ds2", 2, 1)。
2.3 修改配置信息
确认 FineDB 中 fine_conf_entity 表的值,默认为 true 。具体如下表所示:
ID | 值 | 含义 |
---|---|---|
CustomConfig.excelImportAttr.importMatchTitle | true | 根据标题匹配 |
修改 FineDB 数据库表的方法参见文档:如何使用第三方管理软件连接报表内置 HSQL 数据库 FineDB。
2.4 效果预览
保存报表,点击填报预览,单击工具栏上的 按钮,选择 excelimport.xls 。如下图所示:
3. 模板下载编辑
已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\ExcelImport\导入Excel根据标题匹配.cpt。
点击下载模板:导入Excel根据标题匹配.cpt
4. 不根据标题匹配编辑
4.1 应用场景
在 Excel 导入不定行,进行行式报表填报时,默认先根据标题匹配,若匹配标题数小于 2,则执行 根据位置匹配 。然而在导入数据时,部分用户希望,无论匹配标题数为多少,数据均根据位置匹配 。
4.2 功能介绍
通过修改配置文件,直接使用位置匹配。
4.3 操作步骤
修改 FineDB 中 fine_conf_entity 表的值,默认为 true,修改为 false。具体如下表所示:
ID | 值 | 含义 |
---|---|---|
CustomConfig.excelImportAttr.importMatchTitle | true | 根据标题匹配 |
false | 根据位置匹配 |
修改 FineDB 数据库表的方法参见文档:如何使用第三方管理软件连接报表内置 HSQL 数据库 FineDB。
设置完成之后,重启报表服务器,此时再导入 Excel,就会 根据位置匹配 。