目录:
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 不一样,同时更换类别和供应商列的位置,再为 A2 ~J2 单元格添加 控件 ,此处添加文本控件,如下图所示:
注:如果不添加 控件类型,导入后只能查看数据,无法进行填报操作。但是这里是导入不定行,不论是否根据控件导入,必须保证左父格是可扩展的。
2.2 设置填报属性
点击模板>报表填报属性,智能添加 FRDemo 中产品表的所有字段,如下图所示:
2.3 效果预览
保存报表,点击填报预览,单击工具栏上的 按钮,选择下载的 Excel 数据文件 excelimport.xls 。如下图所示:
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 导入配置,选中仅单元格位置匹配。
注:详情参见 Excel 导入逻辑设置插件。
4.3 方法二:修改配置信息
修改 FineDB 中 fine_conf_entity 表的值,默认为 true,修改为 false。具体如下表所示:
ID | 值 | 含义 |
---|---|---|
CustomConfig.excelImportAttr.importMatchTitle | true | 根据标题匹配 |
false | 根据位置匹配 |
修改 FineDB 数据库表的方法参见文档:如何使用第三方管理软件连接报表内置 HSQL 数据库 FineDB。
设置完成之后,重启报表服务器,此时再导入 Excel,就会 根据位置匹配 。