运营人员通常会用Excel表格统计数据,于是我们要开发一个功能就是自动 导入Excel数据。目前通过nodejs的node-xlsx模块可以读取Excel数据。以下是 通过该模块读取表格部分数据的返回: ar data=[ name:'sheet1',表 data:[ 标题 r'id'. 'name', 'phone', 'pay', 'email', 'address'], '北京海淀'], [`12° xiaoming "123456' '23000', '123@123.com '浙江杭州"], 77 "xiaohua', '345612', "13000', "223@223.com', "湖北武汉'], [516' 'xiaoli', '123756', '26700', '233@233.com', ["182" 'xiaoxiang" '873456', '30600','113@113. com', '江西南昌'] ['335', "xiaoqiang','125556', '72000','133@133.com', '广东深圳'] name: 'sheet2', data: [] 现在要对表一中的数据生成JSON 对象用于数据导入,形如: "id":"12", "name": "xiaoming", "phone":"123456", "pay": "23000", "email":"123@123.com" "address":"北京海淀" }, 请完成数据处理。多种方法
时间: 2023-12-30 17:03:25 浏览: 140
处理Excel数据并生成JSON对象的方法有很多种,以下是其中一种实现方式:
```javascript
const xlsx = require('node-xlsx');
const fs = require('fs');
// 读取Excel文件
const workSheets = xlsx.parse(`${__dirname}/test.xlsx`);
// 遍历sheet
workSheets.forEach(sheet => {
// 获取表格数据
const sheetData = sheet.data;
// 获取表头
const header = sheetData[0];
// 处理表格数据
const jsonData = [];
for (let i = 1; i < sheetData.length; i++) {
const row = sheetData[i];
const obj = {};
for (let j = 0; j < header.length; j++) {
obj[header[j]] = row[j];
}
jsonData.push(obj);
}
// 将JSON数据写入文件
const jsonStr = JSON.stringify(jsonData, null, 2);
fs.writeFileSync(`${__dirname}/${sheet.name}.json`, jsonStr);
});
```
以上代码中,我们首先使用node-xlsx模块读取Excel文件,然后遍历每个sheet,并获取每个sheet的数据和表头。接着,我们遍历每一行数据,将每个单元格的值与表头对应,生成一个JSON对象,并将所有JSON对象存入一个数组中。最后,我们将该数组转换为JSON字符串,并写入文件中。
需要注意的是,这只是其中一种实现方式,具体实现方式可以根据具体需求进行调整。
阅读全文