本帖最后由 mafia 于 2021-4-8 15:18 编辑
有的Excel文件中,数据呈现为主子表的形式,主表信息是自由格式,而子表信息是一行一条记录的行式结构,且行数不定。提取数据时,想要把主表信息附加在每条子表记录中。
举例订单明细列表order.xlsx中数据如下图所示:
编写esProc 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"hone,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格的最终结果如下图所示:
|