1. 概述编辑
1.1 版本
报表服务器版本 | JAR 包版本 | 插件版本 |
---|---|---|
10.0 | 2018-09-05 | V1.5 |
9.0 | 2018-06-28 | V1.3.1 |
8.0 | 2018-06-28 | V1.3.1 |
1.2 插件安装
点击下载插件:excel导入逻辑设置
设计器插件安装方法参照 设计器插件管理
服务器安装插件方法参照 服务器插件管理
1.3 应用场景
FineReport 在线导入 Excel 的逻辑目前有三种:根据标题匹配、根据位置匹配、双向导入。
如果用户想启用或禁止某种逻辑,则需要对 customconfig.xml 文件进行修改,这样导致用户操作比较麻烦。所以我们对目前的 Excel 导入逻辑进行梳理,做成插件,提供可视化界面。
2. 插件设置编辑
2.1 操作方法
安装好插件后,设计器菜单栏点击模板 > Excel 导入配置,打开 Excel 导入配置对话框。
2.2 属性设置
1)先按标题匹配,不通过再按单元格位置匹配:默认选中,该选项即为当前 FineReport 中已有逻辑(标题匹配和位置匹配同时开启)。
2)按位置匹配:默认不选中。该选项选中时的效果,和现有逻辑中只启用位置匹配的效果保持一致。
3)显示值转换:默认不勾选,勾选即为开启导入显示值对应的实际值功能。
4)双向扩展格导入:默认不勾选,勾选即为开启双向导入功能。
3. 示例编辑
3.1 按标题匹配
参考文档:根据标题匹配
3.2 按位置匹配
参考文档:根据位置匹配
3.3 显示值转换
Excel 里使用显示值,导入到数据库中的为实际值。
1)打开模板\WEB-INF\reportlets\doc\SpecialSubject\ExcelImport\excel_import_plugin2.cpt,设置 A2~C2 单元格的扩展方向为纵向扩展。
2)本地 SQL Server 数据库中新建一张表 student。
3)设计器连接 SQL Server 数据库,设置填报属性。
4)填报预览,导入Excel文件excelimport_plugin2.xls。
5)数据库中性别导入的是实际值。
3.4 双向扩展格导入
参见文档:Excel双向导入
4. 注意事项编辑
如果扩展行低于原模板里的行数后,会自动转成位置匹配,而不是扩展导入。这时,若想导入的 Excel 中只有一条数据,只要保证 Excel 与模板的数据位置一一对应,即可成功导入一条数据。
注:导入时遵循扩展行大于模板行的逻辑:保持扩展行大于模板的行数,如模板里只设置了一条数据,导入的 Excel 中就必须包含两条数据或以上。
常用报表的导入逻辑如下:
1)行式报表
固定行式报表:只能根据位置匹配。
非固定行式报表:优先使用标题匹配(同时 2 列或以上匹配成功,其他列如果匹配失败,对应列就导入空白),如果标题匹配失败,则启用位置匹配。
表头可扩展的行式报表:双向导入。双向导入,优先标题匹配,然后位置匹配。
2)非行式报表
只能根据位置匹配。