nodejs把xls读取为json文件(node-xlsx示例)

需要用到node包node-xlsx 和nodejs的fs文件服务器读写功能

github示例demo xlsTojson


var xlsx = require("node-xlsx");
var fs = require('fs');
var list = xlsx.parse("demo.xlsx"); // 解析转换的excel文件


var data = list[0].data;  // 1.读取json数据到变量暂存

var len = data.length;
var initData = []

// 2.数据处理

// 自定义数据处理start
//  本示例已industryCategory字段等价表格服务类别列生成归类的json,此处自定义处理逻辑
for (var i = 0; i < len; i++) {
  if (i < len - 1) {
    var item = data[i + 1];
    initData.push({
      "industryCategory": item[7],
      "name": item[1],
      "investment": item[3] + '亿元',
      "investmentComplete": item[4] + '亿元',
      "startTime": item[5],
      "taxStatisticsTime": item[6],
      "liabilityNuit": item[8],
      "address": item[7]
    })
  }
}
var classify = {}
initData.forEach(item => {
  // 遍历种类 classify 存储种类对象
  let { industryCategory, ...next } = item
  if (classify[item.industryCategory]) {
    // 第n个
    classify[item.industryCategory].push(next)
  } else {
    // 第一个
    classify[item.industryCategory] = [next]
  }
})
let outData = []
for (var key in classify) {
  outData.push({
    industryCategory: key,
    detail: classify[key]
  })
}
// 自定义数据处理end

3.数据写入本地json文件
// JSON.stringify(outData,null,4) 格式化的json数据 
writeFile("demo.json", JSON.stringify(outData, null, 4)); // 输出的json文件 
function writeFile(fileName, data) {
  fs.writeFile(fileName, data, 'utf-8', complete);  // 文件编码格式 utf-8
  function complete(err) {
    if (!err) {
      console.log("文件生成成功");  
    }
  }
}```

你可能感兴趣的:(json,javascript,node.js)