nodejs读取并去重excel文件


Posted in NodeJs onApril 22, 2018

如何使用,直接上代码

/**
 * 安装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']]
 }]

以上就是小编整理的全部内容,很多时候我们用到对EXCEL的文件操作,大家在测试的时候如还有任何疑问可以在下面的留言区讨论,感谢大家对三水点靠木的支持。

NodeJs 相关文章推荐
跟我学Nodejs(二)--- Node.js事件模块
May 21 NodeJs
详谈nodejs异步编程
Dec 04 NodeJs
详解nodeJS中读写文件方法的区别
Mar 06 NodeJs
nodejs中模块定义实例详解
Mar 18 NodeJs
win系统下nodejs环境安装配置
May 04 NodeJs
nodejs后台集成ueditor富文本编辑器的实例
Jul 11 NodeJs
详解nodeJs文件系统(fs)与流(stream)
Jan 24 NodeJs
通过nodejs 服务器读取HTML文件渲染到页面的方法
May 17 NodeJs
nodejs 如何手动实现服务器
Aug 20 NodeJs
nodejs通过钉钉群机器人推送消息的实现代码
May 05 NodeJs
Nodejs封装类似express框架的路由实例详解
Jan 05 NodeJs
Sublime Text3 配置 NodeJs 环境的方法
May 20 NodeJs
nodeJS模块简单用法示例
Apr 21 #NodeJs
NodeJS安装图文教程
Apr 19 #NodeJs
关于Mac下安装nodejs、npm和cnpm的教程
Apr 11 #NodeJs
详解nodejs通过响应回写的方式渲染页面资源
Apr 07 #NodeJs
原生nodejs使用websocket代码分享
Apr 07 #NodeJs
nodejs多版本管理总结
Apr 03 #NodeJs
nodejs搭建本地服务器轻松解决跨域问题
Mar 21 #NodeJs
You might like
DC《神奇女侠2》因疫情推迟上映 温子仁新恐怖片《恶性》撤档
2020/04/09 欧美动漫
基于mysql的bbs设计(五)
2006/10/09 PHP
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
PHP操作XML作为数据库的类
2010/12/19 PHP
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
thinkphp中html:list标签传递多个参数实例
2014/10/30 PHP
ExtJS 下拉多选框lovcombo
2010/05/19 Javascript
js 动态文字滚动的例子
2011/01/17 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
jQuery内部原理和实现方式浅析
2015/02/03 Javascript
javascript去掉代码里面的注释
2015/07/24 Javascript
每天一篇javascript学习小结(Boolean对象)
2015/11/12 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
javascript中BOM基础知识总结
2017/02/14 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
Vue.js 2.x之组件的定义和注册图文详解
2018/06/19 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
python实现代码行数统计示例分享
2014/02/10 Python
Django在Win7下的安装及创建项目hello word简明教程
2014/07/14 Python
运动检测ViBe算法python实现代码
2018/01/09 Python
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
使用requests库制作Python爬虫
2018/03/25 Python
利用python修改json文件的value方法
2018/12/31 Python
python 求10个数的平均数实例
2019/12/16 Python
协程Python 中实现多任务耗资源最小的方式
2020/10/19 Python
金宝贝童装官网:Gymboree
2016/08/31 全球购物
保护环境倡议书
2014/04/14 职场文书
推荐信模板
2014/05/09 职场文书
关于保护环境的标语
2014/06/09 职场文书
工作表扬信
2015/01/17 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
Python生成九宫格图片的示例代码
2021/04/14 Python
vue实现简易音乐播放器
2022/08/14 Vue.js