在Excel文件中,一条数据记录分布在一片区域中,我们称这个区域为片区。
重复单元格片区,就是文件中有很多个数据记录片区,每个片区的格式和大小完全相同,它们按规律重复出现。提取这种数据记录,需要找到片区重复出现的规律,按规律循环每个片区。在片区内部,要找到需提取数据在片区内的分布规律,准确计算出单元格名称或所在行列号,然后用SPL中的xlscell函数读取单元格值。
举例
员工信息表employee.xlsx中部分数据如下图所示,每个员工信息片区占9行7列,在纵向重复出现。
现在需要提取每个员工的ID,Name,Sex,Position,Birthday,Phone,Address,PostCode等信息构成数据集。
编写SPL脚本:
A | B | C | |
---|---|---|---|
1 | =create(ID,Name,Sex,Position,Birthday,Phone,Address,PostCode) | ||
2 | =file("E:/work/employee.xlsx").xlsopen() | ||
3 | [C,C,F,C,C,D,C,C] | [1,2,2,3,4,5,7,8] | |
4 | for | =A3.(~/B3(#)).(A2 |