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();

}

}

相关推荐
专科3年的修炼18 小时前
uni-app移动应用开发第四章
开发语言·javascript·uni-app
武帝为此20 小时前
【Selenium 执行 JavaScript】
javascript·selenium·测试工具
一锤捌拾20 小时前
V8引擎精品漫游指南--Ignition篇(下 一) 动态执行前的事情
前端·javascript
Elastic 中国社区官方博客21 小时前
用于 JavaScript 和 TypeScript 的 ES|QL 查询构建器:流式、类型安全的查询构建
大数据·javascript·数据库·elasticsearch·搜索引擎·typescript·全文检索
蜡台1 天前
使用 html javascript 实现 金币落袋效果
前端·javascript·html
李白的天不白1 天前
VUE依赖配置问题
前端·javascript·vue.js
ZC跨境爬虫1 天前
跟着 MDN 学 HTML day_7:(进阶文本语义标签全覆盖)
前端·javascript·css·ui·html
冰暮流星1 天前
javascript之事件冒泡与事件捕获
开发语言·前端·javascript
小智社群1 天前
获取贝壳新房列表
前端·javascript·vue.js
threelab1 天前
Three.js 动态旋转同心圆着色器 | 三维可视化效果
开发语言·javascript·着色器