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 sublime text 3安装与配置
Jun 19 NodeJs
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
Jan 01 NodeJs
Nodejs为什么选择javascript为载体语言
Jan 13 NodeJs
Nodejs关于gzip/deflate压缩详解
Mar 04 NodeJs
nodejs中的fiber(纤程)库详解
Mar 24 NodeJs
nodejs中实现阻塞实例
Mar 24 NodeJs
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
Dec 30 NodeJs
nodejs个人博客开发第六步 数据分页
Apr 12 NodeJs
nodejs入门教程一:概念与用法简介
Apr 24 NodeJs
Nodejs模块载入运行原理
Feb 23 NodeJs
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
Dec 14 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
《Re:从零开始的异世界生活》剧情体验,手游新作定名
2020/04/09 日漫
动态生成gif格式的图像要注意?
2006/10/09 PHP
PHP数据缓存技术
2007/02/14 PHP
php防攻击代码升级版
2010/12/29 PHP
Apache中php.ini的设置方法
2013/02/28 PHP
php操作mysql数据库的基本类代码
2014/02/25 PHP
smarty简单应用实例
2015/11/03 PHP
return false,对阻止事件默认动作的一些测试代码
2010/11/17 Javascript
在VS2008中使用jQuery智能感应的方法
2010/12/30 Javascript
javascript 事件处理程序介绍
2012/06/27 Javascript
jquery简单实现鼠标经过导航条改变背景图
2013/12/17 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
2015/01/06 Javascript
jQuery实现判断滚动条到底部
2015/06/23 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
2016/05/12 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
原生JS 实现的input输入时表格过滤操作示例
2019/08/03 Javascript
JavaScript实现多个物体同时运动
2020/03/12 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
2020/04/30 jQuery
[01:32]dota2拉比克至宝(222)
2018/12/20 DOTA
解析Python中while true的使用
2015/10/13 Python
Python基于递归算法实现的走迷宫问题
2017/08/04 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
python多任务之协程的使用详解
2019/08/26 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
基于python 等频分箱qcut问题的解决
2020/03/03 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
Pytorch 使用CNN图像分类的实现
2020/06/16 Python
Python Selenium实现无可视化界面过程解析
2020/08/25 Python
JD Sports德国官网:英国领先的运动鞋和运动服饰零售商
2018/02/26 全球购物
澳大利亚婴儿礼品公司:The Baby Gift Company
2018/11/04 全球购物
运动会广播稿500字
2014/01/28 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python