欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nodejs讀取并去重excel文件

 更新時間:2018年04月22日 14:12:14   投稿:laozhang  
給大家?guī)硪黄P(guān)于用nodejs實現(xiàn)excel文件的讀取并去重的功能,有興趣的朋友參考學習下。

如何使用,直接上代碼

/**
 * 安裝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的表格數(shù)據(jù)
//data內(nèi)部的數(shù)據(jù)結(jié)構(gòu)為:
//[[ '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導(dǎo)出的數(shù)據(jù)結(jié)構(gòu)如下:

//json結(jié)構(gòu) 
[{
 name: 'sheet1 name',
 data: [['field1', 'field2', 'field13'],
  ['field1', 'field2', 'field13']]
},
 {
  name: 'sheet2 name',
  data: [['field1', 'field2', 'field13'],
   ['field1', 'field2', 'field13']]
 }]

以上就是小編整理的全部內(nèi)容,很多時候我們用到對EXCEL的文件操作,大家在測試的時候如還有任何疑問可以在下面的留言區(qū)討論,感謝大家對腳本之家的支持。

相關(guān)文章

最新評論