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的前后端分离的思考与实践(五)多终端适配
Sep 26 NodeJs
NodeJs的优势和适合开发的程序
Aug 14 NodeJs
nodejs个人博客开发第五步 分配数据
Apr 12 NodeJs
nodejs入门教程五:连接数据库的方法分析
Apr 24 NodeJs
配置nodejs环境的方法
May 13 NodeJs
理解nodejs的stream和pipe机制的原理和实现
Aug 12 NodeJs
nodejs简单访问及操作mysql数据库的方法示例
Mar 15 NodeJs
nodejs+mongodb aggregate级联查询操作示例
Mar 17 NodeJs
Nodejs实现多文件夹文件同步
Oct 17 NodeJs
NodeJS模块与ES6模块系统语法及注意点详解
Jan 04 NodeJs
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
Mar 02 NodeJs
nodejs提示:cross-device link not permitted, rename错误的解决方法
Jun 10 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 中文乱码解决办法总结分析
2009/07/30 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
php中使用gd库实现下载网页中所有图片
2015/05/12 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
2016/01/08 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
JavaScript延迟加载
2021/03/09 Javascript
利用javascript中的call实现继承
2007/01/22 Javascript
深入探寻seajs的模块化与加载方式
2015/04/14 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
Node.js编写组件的三种实现方式
2016/02/25 Javascript
微信小程序 小程序制作及动画(animation样式)详解
2017/01/06 Javascript
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
关于laydate.js加载laydate.css路径错误问题解决
2017/12/27 Javascript
vue实现模态框的通用写法推荐
2018/02/26 Javascript
JavaScript实现微信号随机切换代码
2018/03/09 Javascript
讲解vue-router之什么是嵌套路由
2018/05/28 Javascript
Vue 理解之白话 getter/setter详解
2019/04/16 Javascript
浅谈react-router@4.0 使用方法和源码分析
2019/06/04 Javascript
JS实现简易日历效果
2021/01/25 Javascript
Python实现学生成绩管理系统
2020/04/05 Python
详解python分布式进程
2018/10/08 Python
pytorch进行上采样的种类实例
2020/02/18 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
戴森美国官网:Dyson美国
2016/09/11 全球购物
ebookers英国:隶属全球最大的在线旅游公司Expedia
2017/12/28 全球购物
英国布鲁姆精品店:Bloom Boutique
2018/03/01 全球购物
乐高奥地利官方商店:LEGO Shop AT
2019/07/16 全球购物
《母亲的恩情》教学反思
2014/02/13 职场文书
yy生日主持词
2014/03/20 职场文书
竞选班干部演讲稿500字
2014/08/20 职场文书
活动宣传稿范文
2015/07/23 职场文书
入党申请书怎么写?
2019/06/21 职场文书
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS
MySQL创建管理LIST分区
2022/04/13 MySQL