多个工作表按新分类重新拆分并按指定顺序对齐

例题描述

Excel文件1.xlsx中有下图所示的数据,每个区域的数据构成一个Sheet,Sheet编号为a-z。

..

现在想要把数据变换成如下图的形式,按系统分组,每个系统数据构成一个Sheet,并且没有数据的区域也要列出来。

..

 此题涉及读取Excell中多Sheet数据、数据分组、数据导出到Excel的多个Sheet、数据补齐等知识。

实现步骤

1、  编写脚本:

AB
1=file("E:/work/1.xlsx").xlsopen()
2for A1>B1=B1|A1.xlsimport@t(;A2.stname)
3=B1.group(系统)=26.(char(~+96))
4for A3=A4.align(B3,区域)
5=B4.new(B4.max(系统):系统,B3(#):区域,日期)
6=file("E:/work/2.xlsx").xlsexport@ta(B5;string(B5(1).系统))

A1   打开1.xlsx文件为Excel对象

A2   循环A1中的各个Sheet

B2   读了取各Sheet的数据合并到B1中,选项@t表示首行是列标题

A3   对读取到B1的数据按系统分组

B3   用a-z按顺序组成26个字母序列

A4   循环每个系统分组

B4   把当前组数据的区域字段按照B3中字母a-z的顺序对齐

B5   用B4重新构造一个数据集,用B4中的最大系统值为新的系统值,B3中的当前行号字母为区域字段值,取原日期值为新的日期字段值

B6   把B5导出到2.xlsx中,用系统字段值为Sheet名称,选项@t表示首行输出列标题,a表示追加写入Sheet

2、  运行程序,结束后就可以看到work目录中生成的2.xlsx文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值