例1
有Excel文件book1.xlsx中有下图所示数据:

现在需要把每一组姓名中的 ID 号合并为指定格式,然后将合并值放到 C 列。期望的结果如下:

编写SPL脚本:
| A | |
| 1 | =T("e:/work/book1.xlsx").derive(IDs) |
| 2 | =A1.group(Name).run(a=~.(ID).concat("|"),~.run(IDs=a)) |
| 3 | =T("e:/work/book2.xlsx",A1) |
A1 读出book1.xlsx数据并增加一列IDs
A2 按Name分组后,循环各组,将各组的ID值用|连接拼成串赋给变量a,再循环组内各记录令IDs=a
A3 把A1中的序表保存到文件book2.xlsx
例2
有Excel文件book1.xlsx中有下图所示数据,Employee是员工名字,Shift是上下班标记,Route ID是员工坐的班车号。

现在要统计出员工每天上下班时同班车的人数。结果如下图绿色区所示:

编写SPL脚本:
| A | |
| 1 | =T("e:/work/book1.xlsx").derive(Employees) |
| 2 | =A1.group('Route ID').run(a=~.count(),~.run(Employees=a)) |
| 3 | =A1.group(Employee,Shift) |
| 4 | =A3.new(Employee,Shift,"{"/~.(Employees).concat(";")/"}":Clubbing) |
| 5 | =T("e:/work/book2.xlsx",A4) |
A1 读出book1.xlsx数据并增加一列Employees
A2 按Route ID分组后,循环各组,计算各组记录数(即同车人数)赋给变量a,再循环组内各记录令Employees=a
A3 再对A1按Employee和Shift分组
A4 用A3中的各组分别new出一条新记录,取出Employee、Shift字段,将组内各记录的Employees用分号连接成串,两边再加上大括号,命名为Clubbing字段。
A5 把A4中的序表保存到文件book2.xlsx
本文通过两个示例介绍了如何使用SPL脚本处理Excel数据。第一个示例展示了如何合并姓名中的ID号并保存到新的Excel文件。第二个示例则讲解了如何统计员工每天上下班时同班车的人数,并生成相应的统计结果。SPL脚本在数据处理中提供了高效且灵活的解决方案。
686

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



