node实现excel文件与JSON数据格式互转
使用node脚本处理excel,需要先安装【node-xlsx】,即【npm install node-xlsx】,写好下面脚本后,执行【node ./transferExcelToArray.js】,然后你就会在同文件夹下面发现生成了一个【array.json】文件。
1. excel转JSON文件
// excel转JSON文件 transferExcelToJSON.js const path = require('path'); var xlsx = require('node-xlsx'); const fs = require('fs'); var obj = xlsx.parse(__dirname + '/年度绩效评价表.xlsx'); // 把第一行表头去掉了 var excelObj = obj[0].data.slice(1); let list = []; excelObj.forEach(one => { let obj = { subFundTypeName: one[1], type: one[2], score: one[5], name: one[4], fundYear: one[0], }; list.push(obj); }); fs.writeFileSync(path.resolve(process.cwd(), './array.json'), JSON.stringify(list), function (error) { console.log(error); });
2.JSON转excel文件
const path = require('path'); const fs = require('fs'); const xlsx = require('node-xlsx'); let data = fs.readFileSync(path.resolve(__dirname, './array.json'), 'utf-8'); data = JSON.parse(data); let tableData = [ ["名称","分数","日期"], ...data.map(one=>{ return [one.name,one.score,one.date] }) ] //引入生成excel的依赖包 const list = [ { name: 'sheet', // 工作薄的名称 data: tableData , // [ // ['表头1', '表头2', '表头3'], // ['第1行第1列', '第1行第2列', '第1行第3列'], // ['第2行第1列', '第2行第2列', '第2行第3列'], // ] }, // 如果多个工作薄, 就是多个对象。格式如上 ]; // 使用提供的构建 xlsx 文件的方法 const buffer = xlsx.build(list); fs.writeFile('导出的excel名称.xlsx', buffer, function (err) { if (err) { console.log(err, '导出excel失败'); } else { console.log('导出excel成功!'); } });
标签:
node
, excel文件处理为数组
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2022-03-21 树型数据的操作处理