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学习小结(一)
Jul 06 NodeJs
nodejs的10个性能优化技巧
Jul 15 NodeJs
nodejs导出excel的方法
Jun 30 NodeJs
iPhone手机上搭建nodejs服务器步骤方法
Jul 06 NodeJs
解析NodeJs的调试方法
Dec 11 NodeJs
Nodejs中使用captchapng模块生成图片验证码
May 18 NodeJs
详解HTTPS 的原理和 NodeJS 的实现
Jul 04 NodeJs
详解nodejs通过响应回写的方式渲染页面资源
Apr 07 NodeJs
nodejs 简单实现动态html的方法
May 12 NodeJs
解决Nodejs全局安装模块后找不到命令的问题
May 15 NodeJs
nodejs如何在package.json中设置多条启动命令
Mar 16 NodeJs
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
May 30 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语法(3)
2006/10/09 PHP
PHP设置图片文件上传大小的具体实现方法
2013/10/11 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
基于PHP制作验证码
2016/10/12 PHP
建议大家看下JavaScript重要知识更新
2007/07/08 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
vuex操作state对象的实例代码
2018/04/25 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
2018/09/16 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
2019/05/07 Javascript
js实现中文实时时钟
2020/01/15 Javascript
nodeJS与MySQL实现分页数据以及倒序数据
2020/06/05 NodeJs
js实现随机点名
2021/01/19 Javascript
基于JavaScript实现简单的轮播图
2021/03/03 Javascript
python新手经常遇到的17个错误分析
2014/07/30 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
Python处理字符串之isspace()方法的使用
2015/05/19 Python
Django框架中方法的访问和查找
2015/07/15 Python
Python首次安装后运行报错(0xc000007b)的解决方法
2016/10/18 Python
对numpy中数组元素的统一赋值实例
2018/04/04 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
python调用有道智云API实现文件批量翻译
2020/10/10 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
德国高性价比网上药店:medpex
2017/07/09 全球购物
英国复古和经典球衣网站:Vintage Football Shirts
2018/10/05 全球购物
如何掌握自荐信格式呢
2013/11/19 职场文书
幼儿评语大全
2014/04/30 职场文书
医院领导班子整改方案
2014/10/01 职场文书
看上去很美观后感
2015/06/10 职场文书
2015小学教育教学工作总结
2015/07/21 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书
win10下go mod配置方式
2021/04/25 Golang