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 相关文章推荐
PHPStorm 2020.1 调试 Nodejs的多种方法详解
Sep 17 NodeJs
Nodejs实现批量下载妹纸图
May 28 NodeJs
Nodejs中session的简单使用及通过session实现身份验证的方法
Feb 04 NodeJs
详解nodejs 文本操作模块-fs模块(二)
Dec 22 NodeJs
搭建简单的nodejs http服务器详解
Mar 09 NodeJs
Nodejs 和Session 原理及实战技巧小结
Aug 25 NodeJs
原生nodejs使用websocket代码分享
Apr 07 NodeJs
基于nodejs res.end和res.send的区别
May 14 NodeJs
nodejs(officegen)+vue(axios)在客户端导出word文档的方法
Jul 31 NodeJs
nodejs实现一个word文档解析器思路详解
Aug 14 NodeJs
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
Apr 29 NodeJs
详解NodeJS模块化
Jun 15 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
转换中文日期的PHP程序
2006/10/09 PHP
在字符串中把网址改成超级链接
2006/10/09 PHP
PHP 日常开发小技巧
2009/09/23 PHP
Window下PHP三种运行方式图文详解
2013/06/11 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
2019/08/12 PHP
js 本地预览的简单实现方法
2014/02/18 Javascript
js生成的验证码的实现与技术分析
2014/09/17 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
2015/02/02 Javascript
jQuery插件pagination实现无刷新分页
2016/05/21 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
jQuery除指定区域外点击任何地方隐藏DIV功能
2017/11/13 jQuery
vue.js学习笔记之v-bind和v-on解析
2018/05/03 Javascript
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
Vuejs中的watch实例详解(监听者)
2020/01/05 Javascript
浅析vue-router实现原理及两种模式
2020/02/11 Javascript
Vue-cli3多页面配置详解
2020/03/22 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
[02:33]DOTA2亚洲邀请赛趣味视频之吐真话筒
2018/03/31 DOTA
python 中文乱码问题深入分析
2011/03/13 Python
在Python中使用HTML模版的教程
2015/04/29 Python
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
使用Python的urllib2模块处理url和图片的技巧两则
2016/02/18 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
美国爆米花工厂:The Popcorn Factory
2019/09/14 全球购物
Puma印度官网:德国运动品牌
2019/10/06 全球购物
行政管理毕业生自荐信
2014/02/24 职场文书
研究生毕业自我鉴定范文
2014/03/27 职场文书
镇人大副主席民主生活会对照检查材料思想汇报
2014/10/01 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
聘任书格式及范文
2015/09/21 职场文书