这是测试表格:
这是最后需要的json格式:
[ { “Nuber”: 1, “Department”: “part1”, “Unit”: [“check”,“second”,“cable”], “BeginTime”: “1/7:00”, “EndTime”: “2/20:00”, “Worker”: [“Lucy”,“Jussa”,“Peter”] }, { “Nuber”: 2, “Department”: “part2”, “Unit”: “check”, “BeginTime”: “1/7:00”, “EndTime”: “1/20:00”, “Worker”: “Yu” } ]
问题:如何实现将Unit和Worker中的内容组成一个数组并塞进Number为1的json中?
这是目前的代码:
var XLSX = require(‘xlsx’); var workbook = XLSX.readFile(‘测试.xlsx’); var sheet_name_list = workbook.SheetNames; sheet_name_list.forEach(function(y) { var worksheet = workbook.Sheets[y]; if (y == ‘Sheet1’) { var headers = {}; var data = []; //包中定义:z就是单元格的编号,如:A1,B2 for (z in worksheet) { if (z[0] === ‘!’) continue; //(0,1)列col的字母编号:A-Z, (1)行数row:1、2、3… var col = z.substring(0, 1); var row = parseInt(z.substring(1)); var value = worksheet[z].v; //保存中文字段名 if (row == 4) { headers[col] = value; continue; }
if (!data[row]) data[row] = {}; data[row][headers[col]] = value; }
data.shift(); data.shift(); console.log(data);
} else { console.log(false) }
});
目前代码实现结果: