1. 同构合并
在某个文件目录下有多个Excel文件,这些文件表头和列结构完全相同,只是数据行数和数据内容不同,需要将这些文件的数据全部合并到一个Excel文件中,共用同一个表头。
示例:在e:/orders目录下有每日的订单Excel文件,每个文件的结构相同,第一行是列名,第二行开始是数据,如下图所示,请将它们合并成一个订单表文件orders.xlsx。
esProc SPL脚本如下:
A | |
---|---|
1 | =directory@p("e:/orders/*.xlsx") |
2 | =A1.conj(T(~)) |
3 | =T("e:/orders.xlsx",A2) |
A1 列出e:/orders目录中所有xlsx文件名,选项@p表示列出文件的全路径名
A2 读出A1中所有文件的数据并合并起来
A3 将A2中合并后的数据写入文件orders.xlsx
2. 结构近似的合并
如果文件结构并不是完全相同,比如列的顺序不一样、列数不一样,但各文件都含有共同的几列,想要把这些共同列的数据都合并到一个文件中。合并这些文件时,需要按指定顺序读出每个文件中的这些共同列数据。
示例