1. 概述
1.1 问题描述
数据库表里已经有序号的情况下,增量导入数据时导入后发现序号从 1 开始。如下图所示:
如果想要延续之前的序号进行排序,该如何实现呢?
1.2 解决方案
使用层次坐标公式 Cellx[Celly:z] + 1获取 Celly 扩展出来的第 z 个值对应的 Cellx 值并加 1。将 z 置为 -1,则为获取每次扩展出来的最后一个数,再加 1 生成序号 。
注:不支持移动端
2. 示例
2.1 数据准备
新建数据集 ds1,数据库查询对话框中写入 SQL 查询语句:SELECT * FROM 产品类别。如下图所示:
2.2 报表设计
1)将数据集字段拖入单元格,A2 单元格添加「数字控件」,B2、C2单元格添加「文本控件」,设计报表样式。如下图所示:
2)选中 A2 单元格,为其添加一个条件属性。属性类别为「新值」:A2[A2:-1]+1,判断类型为公式: len($$$)==0
实现当 A2 列序号空白时以层次坐标 A2[A2:-1]+1新增序号。如下图所示:
公式说明:
A2[A2:-1]+1:获取 A2 单元格扩展出来的最后一个值并加 1
len($$$)==0:当前单元格为空
2.3 设置标记导入
安装「Excel标记导入」插件后,打开「模板>Excel导入标记」,按下图所示设置:
注:标题和内容区域不需要包括序号列,导入后会自动生成
在「模板>模板web属性>填报页面设置」中选择「为该模板单独设置」,双击「标记导入」添加到工具栏。
2.4 效果预览
准备一个 Excel 文件,其中没有序号列。如下图所示:
点击可下载 Excel:Excel增量导入时实现序号自增.xlsx
保存模板,点击「填报预览」,点击标记导入,选择 Excel 文件后即可将文件导入,导入后生成连续的序号。如下图所示:
3. 模板下载
点击下载模板: