温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

nodejs如何读取并去重excel文件

发布时间:2021-06-26 15:10:43 来源:亿速云 阅读:122 作者:小新 栏目:web开发

小编给大家分享一下nodejs如何读取并去重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的表格数据
//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']]
 }]

以上是“nodejs如何读取并去重excel文件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI