历史版本19 :Excel导入逻辑设置插件 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本JAR 包版本 插件版本 
10.02018-09-05V1.5
9.02018-06-28V1.3.1
8.02018-06-28V1.3.1

1.2 插件安装

点击下载插件:Excel导入逻辑设置

设计器插件安装方法参照 设计器插件管理

服务器安装插件方法参照 服务器插件管理

1.3 应用场景

FineReport 在线导入 Excel 的逻辑目前有三种:根据标题匹配、根据位置匹配、双向导入。

如果用户想启用或禁止某种逻辑,则需要对 customconfig.xml 文件进行修改,这样导致用户操作比较麻烦。所以我们对目前的 Excel 导入逻辑进行梳理,做成插件,提供可视化界面。

2. 插件设置编辑

2.1 操作方法

安装好插件后,设计器菜单栏点击模板 > Excel 导入配置,打开 Excel 导入配置对话框。

Snag_1f4364b6.png

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 单元格的扩展方向为纵向扩展

Snag_1f79db09.png

2)本地 SQL Server 数据库中新建一张表 student。

Snag_1f7da8ba.png

3)设计器连接 SQL Server 数据库,设置填报属性。

Snag_1f7f52d0.png

4)填报预览,导入Excel文件excelimport_plugin2.xls

Snag_1f81abb4.png

5)数据库中性别导入的是实际值。

Snag_1f83a206.png

3.4 双向扩展格导入

参见文档:Excel双向导入

4. 注意事项编辑

如果扩展行低于原模板里的行数后,会自动转成位置匹配,而不是扩展导入。这时,若想导入的 Excel 中只有一条数据,只要保证 Excel 与模板的数据位置一一对应,即可成功导入一条数据。

注:导入时遵循扩展行大于模板行的逻辑:保持扩展行大于模板的行数,如模板里只设置了一条数据,导入的 Excel 中就必须包含两条数据或以上。  

常用报表的导入逻辑如下:

1)行式报表

  • 固定行式报表:只能根据位置匹配。

  • 非固定行式报表:优先使用标题匹配(同时 2 列或以上匹配成功,其他列如果匹配失败,对应列就导入空白),如果标题匹配失败,则启用位置匹配。

  • 表头可扩展的行式报表:双向导入。双向导入,优先标题匹配,然后位置匹配。

2)非行式报表

只能根据位置匹配。