Excel 行式与自由式混合结构提取
有的Excel文件中,数据呈现为主子表的形式,主表信息是自由格式,而子表信息是一行一条记录的行式结构,且行数不定。提取数据时,想要把主表信息附加在每条子表记录中。
举例
订单明细列表order.xlsx中数据如下图所示:
编写SPL脚本:
A |
|
1 |
=file("E:/work/order.xlsx").xlsopen() |
2 |
=A1.xlsimport@t(;1,5).select(Model) |
3 |
=A2.derive(A1.xlscell("D2"):Name,A1.xlscell("F2"):Phone,A1.xlscell("D3"):Email,A1.xlscell("D4"):Address) |
A1 打开order.xlsx文件为Excel对象
A2 读取A1第1个Sheet中第5行开始的行式数据,并过滤掉Model为空的行,选项@t表示首行是列标题
A3 在A2新增4列:Name列的值为D2单元格内容,Phone列的值为F2单元格内容,Email列的值为D3单元格内容,Address列的值为D4单元格内容
A3格的最终结果如下图所示: