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学习笔记之Stream模块
Jan 13 NodeJs
nodejs实现遍历文件夹并统计文件大小
May 28 NodeJs
详解nodejs与javascript中的aes加密
May 22 NodeJs
进阶之初探nodeJS
Jan 24 NodeJs
nodejs使用express创建一个简单web应用
Mar 31 NodeJs
详解Windows下安装Nodejs步骤
May 18 NodeJs
Nodejs中使用phantom将html转为pdf或图片格式的方法
Sep 18 NodeJs
基于nodejs res.end和res.send的区别
May 14 NodeJs
PHPStorm中如何对nodejs项目进行单元测试详解
Feb 28 NodeJs
详解nodejs 开发企业微信第三方应用入门教程
Mar 12 NodeJs
nodejs中request库使用HTTPS代理的方法
Apr 30 NodeJs
node快速搭建后台的实现步骤
Feb 18 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中的一个中文字符串截取函数
2007/02/14 PHP
PHP include_path设置技巧分享
2011/07/03 PHP
那些年一起学习的PHP(一)
2012/03/21 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
2012/12/29 PHP
ThinkPHP在新浪SAE平台的部署实例
2014/10/31 PHP
php实现删除空目录的方法
2015/03/16 PHP
php时间戳转换代码详解
2019/08/04 PHP
javascript json 新手入门文档
2009/12/03 Javascript
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
Javascript 类、命名空间、代码组织代码
2011/07/31 Javascript
前端开发过程中浏览器版本的两种判定方法
2013/10/30 Javascript
用unescape反编码得出汉字示例
2014/04/24 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
jquery获取form表单input元素值的简单实例
2016/05/30 Javascript
JS实现的表头列头固定页面功能示例
2017/01/10 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
Vue单页面应用保证F5强刷不清空数据的解决方案
2018/01/31 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
详解jQuery设置内容和属性
2019/04/11 jQuery
浅谈对于react-thunk中间件的简单理解
2019/05/01 Javascript
防止Layui form表单重复提交的实现方法
2019/09/10 Javascript
python 3利用BeautifulSoup抓取div标签的方法示例
2017/05/28 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
Django之choices选项和富文本编辑器的使用详解
2020/04/01 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
Django分组聚合查询实例分享
2020/04/29 Python
python thrift 实现 单端口多服务的过程
2020/06/08 Python
详解Canvas事件绑定
2018/06/27 HTML / CSS
美国折扣宠物药房:Total Pet Supply
2018/05/27 全球购物
总经理人事任命书
2014/06/05 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
检讨书怎么写
2015/01/23 职场文书
2015年大学宣传部工作总结
2015/05/26 职场文书
python三子棋游戏
2022/05/04 Python