根据数值将一行扩展出多行

 

举例

Excel 文件book1.xlsx中有一张产品数量表,第一列为产品序号,第二列为产品剩余数量。初始数据如下:

..

现在需要根据产品的剩余数量,也就是Qty Remaining,将Item ID的值重复n遍,除第一行为原始行,其他补齐的行只保留 Item ID 的值,且 00003 的数量为 0,则新表中不再有该记录,期望结果如下图:

..

编写SPL脚本:


A

1

=T("E:/work/book1.xlsx")

2

=A1.news(#2;'Item ID',if(#==1,'Qty Remaining',null):'Qty Remaining',if(#==1,'Invoice No',null):'Invoice No')

3

=T("E:/work/book2.xlsx",A2)

A1   读入book1.xlsx文件数据

A2   根据第二列的数量,将每条记录重复n次,产生新的序表,其中二三列的值用if表达式,第一行时取原值,其他补齐行则用null

A3   A2保存到文件book2.xlsx