node-xlsx 处理日常统计项

文章展示了如何利用node-xlsx模块读取Excel文件,执行带条件的笛卡尔积操作,并将结果保存到新的Excel文件中。同时,也提到了将数据转换为JSON格式并保存到文件的过程。
摘要由CSDN通过智能技术生成

node-xlsx 安装: npm i node-xlsx -S

1、带条件的笛卡尔积(excel导入导出)

这个没有找到比较好的方法用Excel处理,才用代码(这个比较快)

const xlsx = require('node-xlsx')
const fs = require('fs');
//读取文件内容
var obj = xlsx.parse(__dirname + '/分析数据.xlsx');
var indArr = obj[0].data;
var orgArr = obj[1].data;

const header = ['ID', '参数1',	'参数2']

const resList = [{
  name: "sheet",
  data: [
    header,
  ]
}]

for (let index = 0; index < indArr.length; index++) {
  const indRow = indArr[index]
  for (let j = 0; j < orgArr.length; j++) {
    const orgRow = orgArr[j];
    if(indRow[0] === orgRow[0]) {
      resList[0].data.push([...indRow, orgRow[1]])
    }
  }
}


console.log('文件行数:', resList[0].data.length);

//将文件内容插入新的文件中
const buffer = xlsx.build(resList);
fs.writeFile("笛卡尔积结果.xlsx", buffer, function(err) {
  if (err) {
    console.log(err, "保存excel出错");
  } else {
    console.log("写入excel成功!!!");
  }
});

2、存为json

const resObj = {}
//将文件内容插入新的文件中
let str = JSON.stringify(resObj, null, "\t")

fs.writeFile('data.json', str, function(err) {
  if (err) {
    res.status(500).send('Server is error...')
  }
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值