1. 概述编辑
1.1 问题描述
在导入 Excel 时,有时可能会遇到下面这些问题:
如果标题有合并格,在导入 Excel 的时候会出现错乱,需要连续导入两次才能正常。
在导入 Excel 数据时,只想导入部分行,或者有几列的内容不想导进去,希望后面自己手动填写。
多 Sheet 报表中导入 Excel 时,用户希望可以在前端对每张 Sheet 分别进行导入。
FineReport 提供了「自定义导入Excel行列」的功能,使用该功能可以很好地解决上述问题。
1.2 功能入口
在填报页面设置页面将「自定义导入Excel行列」按钮添加到填报工具栏
前端填报预览时,使用这个按钮导入 Excel 即可:
1.3 功能界面
前端点击「自定义导入Excel行列」按钮后,选择一个 Excel 文件,就会弹出如下图配置页面,下面介绍下每个配置项的作用:
当前sheet:下拉选择 Excel 不同 sheet,设置各个 sheet 需要导入的内容。
编辑导入sheet:选择导入 Excel 中哪几个 sheet,未勾选的 sheet 不会显示在左边当前 sheet 下拉框中。
标题行:设置 Excel 中标题行是哪几行,标题行不会被导入,该选项为必填项,如果 Excel 无标题则都填 0。
数据行:不填,默认导入除标题行外的所有数据;只填起始行,则导入该行及其后所有数据;只填结束行,则导入该行及其之前的数据。
数据列:勾选的列导入,不勾选列的不导入。
1.4 重点关注
该功能适用于 行式填报报表。
该功能同时支持填报预览和新填报预览。
多 Sheet 导入是建立在模板 Sheet 个数和 Excel 一致的基础上,并不支持模板单 Sheet ,而从多 Sheet 的 Excel 中勾选一个导入。
2. 示例编辑
2.1 准备Excel
准备一个有 2 个 sheet 的 Excel 文件:在线导入Excel.xlsx
Excel 中每个 sheet 的数据如下:
sheet1
sheet2
2.2 准备模板
1)首先设计 sheet1 填报,表格如下图所示:
2)给 sheet1 填报设置下填报属性,如下图所示:
3)设计 sheet2 填报,表格如下图所示:
4)给 sheet2 填报设置下填报属性,如下图所示:
2.3 导入预览
保存报表,选择填报预览,点击工具栏「自定义导入Excel行列」按钮,选择准备好的 Excel 文件。
配置 sheet1 的导入内容:
配置 sheet2 的导入内容:
最终导入效果如下动图所示:
3. 模板下载编辑
已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\demo\form\在线导入Excel.cpt
点击下载模板:在线导入Excel.cpt