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实现遍历文件夹并统计文件大小
May 28 NodeJs
Nodejs如何搭建Web服务器
Mar 28 NodeJs
基于Nodejs利用socket.io实现多人聊天室
Feb 22 NodeJs
async/await与promise(nodejs中的异步操作问题)
Mar 03 NodeJs
初识NodeJS服务端开发入门(Express+MySQL)
Apr 07 NodeJs
详解HTTPS 的原理和 NodeJS 的实现
Jul 04 NodeJs
Nodejs中使用phantom将html转为pdf或图片格式的方法
Sep 18 NodeJs
Mac 安装 nodejs方法(图文详细步骤)
Oct 30 NodeJs
nodejs简单访问及操作mysql数据库的方法示例
Mar 15 NodeJs
基于Nodejs的Tcp封包和解包的理解
Sep 19 NodeJs
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
Nov 01 NodeJs
NodeJS模块Buffer原理及使用方法解析
Nov 11 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中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
ajax+php打造进度条 readyState各状态
2010/03/20 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
thinkphp5实现无限级分类
2019/02/18 PHP
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
通过Unicode转义序列来加密,按你说的可以算是混淆吧
2007/05/06 Javascript
js 上传图片预览问题
2010/12/06 Javascript
jquery在IE、FF浏览器的差别详细探讨
2013/04/28 Javascript
Jquery中LigerUi的弹出编辑框(实现方法)
2013/07/09 Javascript
Android中的jQuery:AQuery简介
2014/05/06 Javascript
网页实时显示服务器时间和javscript自运行时钟
2014/06/09 Javascript
Javascript基础教程之数据类型 (数值 Number)
2015/01/18 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
2015/10/08 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
js 毫秒转天时分秒的实例
2017/11/17 Javascript
JavaScript实现简单轮播图效果
2018/12/01 Javascript
antd配置config-overrides.js文件的操作
2020/10/31 Javascript
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
Python 3.x 安装opencv+opencv_contrib的操作方法
2018/04/02 Python
Python实现模拟浏览器请求及会话保持操作示例
2018/07/30 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
Python split() 函数拆分字符串将字符串转化为列的方法
2019/07/16 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
Pycharm打开已有项目配置python环境的方法
2020/07/03 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
CSS3 创建网页动画实现弹跳球动效果
2018/10/30 HTML / CSS
台湾SHOPRO购物行家:亚洲首创影视.3C.家电.优质购物平台
2018/05/07 全球购物
药学专业大学生自荐信
2013/09/28 职场文书
环保专业大学生职业规划设计
2014/01/10 职场文书
30年同学聚会感言
2014/01/30 职场文书
产品质量保证书范本
2015/02/27 职场文书
会议室管理制度范本
2015/08/06 职场文书
利用Nginx代理如何解决前端跨域问题详析
2021/04/02 Servers
Linux下使用C语言代码搭建一个简单的HTTP服务器
2022/04/13 Servers