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   读取A11Sheet中第5行开始的行式数据,并过滤掉Model为空的行,选项@t表示首行是列标题

A3   A2新增4列:Name列的值为D2单元格内容,Phone列的值为F2单元格内容,Email列的值为D3单元格内容,Address列的值为D4单元格内容

 

A3格的最终结果如下图所示:

..