7-10 WPS JS宏 对象使用实例7--拆分单表到多工作簿下的多表

7-10 WPS JS宏 对象使用 实例7--拆分单表到多工作簿下的多表

原数据:

结果:

代码:

function test(){

var arr=Range("a2:e"+Range("a9999").End(xlUp).Row).Value();

var obj={},pah=ThisWorkbook.Path;

var tit=["省份","产品","月份","销售数量","销售金额"];

for (var ar of arr){

if(ar[0] in obj){

if(ar[1]in obj[ar[0]]){

obj[ar[0]][ar[1]].push(ar);

}else{

obj[ar[0]][ar[1]]=[ar];

}

}else{

obj[ar[0]]={[ar[1]]:[ar]};

}}

for(var [key,val]of Object.entries(obj)){

var wb=Workbooks.Add();

for(var [k,a] of Object.entries(val)){

var ws=wb.Sheets.Add();

ws.Name=k;

Console.log(JSON.stringify(a))

ws.Range("a1").Resize(a.length+1,5).Value2=[tit].concat(a);

// ws.Range("a1").Resize(a.length,12).Value2=a);

}

wb.Sheets("sheet1").Delete();

try {

// 创建单层文件夹(完整路径)

MkDir(pah+"\\分发结果");

Console.log("创建成功");

} catch (error) {

Console.log("有此目录,继续");

}

wb.SaveAs(pah+`\\分发结果\\`+key+`.xlsx`);

wb.Close();

}

}

相关推荐
C_心欲无痕2 小时前
不点击鼠标也能通过MouseEvent实现点击事件
前端·javascript
web小白成长日记2 小时前
从零起步,用TypeScript写一个Todo App:踩坑与收获分享
前端·javascript·typescript
huangyiyi666663 小时前
前端-远程多选搜索框不能反显的问题解决
前端·javascript·vue.js·笔记·学习
敲敲了个代码3 小时前
让 Vant 弹出层适配 Uniapp Webview 返回键
前端·javascript·vue.js·学习·面试·uni-app
摘星编程3 小时前
React Native for OpenHarmony 实战:Accessibility 辅助功能详解
javascript·react native·react.js
蜕变菜鸟4 小时前
数组参数赋值
linux·前端·javascript
shix .4 小时前
反控制台,函数,反调试
开发语言·前端·javascript
摘星编程4 小时前
React Native for OpenHarmony 实战:AccessibilityInfo 无障碍信息详解
javascript·react native·react.js
董世昌414 小时前
什么是暂时性死区?
开发语言·前端·javascript