历史版本4 :Excel自定义导入 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 版本编辑

设计器版本
9.0


2. 描述编辑

在导入Excel时,有些用户会有以下问题:

(1)如果标题有合并格,在导入Excel的时候会出现错乱,需要连续导入两次才能正常。

(2)在导入Excel数据时,只想导入部分行,或者有几列的内容不想导进去,希望后面自己手动填写。

(3)一张excel中包含多sheet,每张sheet中包含的是不同的数据,客户存数据的时候为了方便找到数据,将不同数据存成不同的sheet而非不同的excel,希望导入的时候可以自己选sheet。

为了解决这些问题,我们提供了导入Excel自定义行列的功能,导入界面如下:
222

3. 适用场景编辑

针对不定行填报表(清单式填报表)适用!

4. 使用方法编辑

4.1 Excel准备

已知 在线导入Excel.xlsx ,内容如下:
222

222

4.2 模板样式

新建工作簿,sheet1样式如下:
222

添加sheet2,样式同sheet1。如下:

222

4.3 添加导入按钮

选择模板>模板web属性>填报页面设置,双击添加自定义导入excel行列  至工具栏:

保存模板使用填报预览。

4.4 导入Excel

点击工具栏上的自定义导入Excel行列即可:

弹出界面,可以选择需要导入的sheet页,标题行,数据行,数据列:
222

只要有一个sheet的必填项未填写,则跳出弹窗:

注:当数据超过三十行,左下角显示“共X行数据,显示30行数据”

(1)配置规则

标题行0-0:没有标题行

数据行不填:导入除标题行外的所有数据

标题行1-2;数据行3-4:第1,2行为标题行,不导入;3,4行为数据行,执行导入

标题行1-3;数据行2-4:此为标题行和数据行有交集,取1-3为标题行, 4为数据行,只有第四行执行导入(数据行的起始行必须大于标题行的结束行)

(2)导入逻辑说明 

①存在扩展行的模板(不定行导入):
寻找模板的扩展基准行(默认基准行以上的行都是模板的标题行),根据sheet配置,遍历excel数据的时候跳过配置的标题行,从数据起始行开始导入到数据结束行,行数据遍历逻辑中会跳过配置的不导入的列.

②没有扩展行的模板(固定行):
此种场景由于严格按照单元格匹配,标题行和数据行的设置没有任何意义,设置只会造成数据错乱,只能标题行设置0-0,数据行不设置,这样的话也跟原先的导入方式没有区别。

4.5 sheet配置

如下所示设置:
222

注:若只勾选sheet1,则表示只导入sheet1,当前sheet后面的下拉框也只显示sheet1,无法选择sheet2。

分别设置sheet1和sheet2所需导入的内容:
222
222

由于此处的原模板已存在标题行,所以第一行为不需要导入的,从第二行开始导入。

导入效果如下:
222
222

已完成的报表,可参见%FR_HOME%\WebReport\WEB-INF\reportlets\demo\form\在线导入Excel.cpt

5. 局限性编辑

以下场景不支持或者可能使导入出现错位:

(1)模板单元格和excel单元格不是对应关系

(2)表头有填报单元格,主体是不定行,例如:

(3)固定行+不定行的搭配,例如:

(4)excel单元格有斜线,例如:

(5)固定行导入:条件限制的很死的,只有不写标题行和数据行的情况下才能导入,不符合自定义导入的定位