nodejs 读取excel文件,并去重

为什么npm发布的很多包文档这么烂

如何使用,直接上代码

/**
 * 安装node-xlsx插件
 */
var path = require('path')
var fs = require('fs')
var xlsx = require('node-xlsx')

//去重算法
Array.prototype.unique = function () {
  this.sort(); //先排序
  var res = [this[0]];
  for (var i = 1; i < this.length; i++) {
    if (this[i] !== res[res.length - 1]) {
      res.push(this[i]);
    }
  }
  return res;
}

//取得xlsx
var obj = xlsx.parse(path.resolve(`./xlsx/x.xlsx`))
var newArray = []

//读取第一列
//obj[0].data:指第一个sheet的表格数据
//data内部的数据结构为:
//[[ 'field1','field2','field13' ],[ 'field1','field2','field13' ]]
for (var data of obj[0].data) {
  newArray.push(data[0])
}
//去重之前
console.log(newArray.length)
var openIds = newArray.unique();
//去重之后
console.log(newArray.length)

var j = 0
for (var i = 0; i < newArray.length; i++) {
  //每一行
  console.log(newArray[i])
}

解析一下

node-xlsx导出的数据结构如下:

//json结构  
[{
  name: 'sheet1 name',
  data: [['field1', 'field2', 'field13'],
    ['field1', 'field2', 'field13']]
},
  {
    name: 'sheet2 name',
    data: [['field1', 'field2', 'field13'],
      ['field1', 'field2', 'field13']]
  }]
    原文作者:Miracle_lihb
    原文地址: https://segmentfault.com/a/1190000014519235
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞