在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.xlscell |

本文介绍了如何处理Excel文件中重复的单元格片区。每个数据记录占用9行7列并按规律重复,使用SPL脚本可以读取并提取员工的ID、Name、Sex、Position、Birthday、Phone、Address、PostCode等信息,创建序表保存数据。通过for循环结合单元格位置计算,实现对每个员工信息的逐个提取,当遇到空ID时结束循环。
最低0.47元/天 解锁文章
686

被折叠的 条评论
为什么被折叠?



