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中读取中文文件编码问题、发送邮件和定时任务实例
Jan 01 NodeJs
NodeJS学习笔记之(Url,QueryString,Path)模块
Jan 13 NodeJs
基于nodejs+express(4.x+)实现文件上传功能
Nov 23 NodeJs
NodeJS创建基础应用并应用模板引擎
Apr 12 NodeJs
详解Nodejs的timers模块
Dec 22 NodeJs
angular2+nodejs实现图片上传功能
Mar 27 NodeJs
nodejs连接mysql数据库简单封装示例-mysql模块
Apr 10 NodeJs
使用nodejs爬取前程无忧前端技能排行
May 06 NodeJs
Nodejs 复制文件/文件夹的方法
Aug 24 NodeJs
nodejs中函数的调用实例详解
Oct 31 NodeJs
Nodejs中怎么实现函数的串行执行
Mar 02 NodeJs
使用nodejs实现JSON文件自动转Excel的工具(推荐)
Jun 24 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 自写函数代码 获取关键字 去超链接
2010/02/08 PHP
php语言中使用json的技巧及json的实现代码详解
2015/10/27 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
PHP调用接口用post方法传送json数据的实例
2018/05/31 PHP
Laravel5.7 Eloquent ORM快速入门详解
2019/04/12 PHP
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
jquery复选框CHECKBOX全选、反选
2008/08/30 Javascript
Firebug 字幕文件JSON地址获取代码
2009/10/28 Javascript
ExtJS 设置级联菜单的默认值
2010/06/13 Javascript
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
2016/11/25 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
2018/08/27 Javascript
Vue组件中的data必须是一个function的原因浅析
2018/09/03 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
Python 的 with 语句详解
2014/06/13 Python
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
在Python中使用mongoengine操作MongoDB教程
2015/04/24 Python
Python中encode()方法的使用简介
2015/05/18 Python
Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法
2015/05/20 Python
Python使用defaultdict读取文件各列的方法
2017/05/11 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
python时间日期函数与利用pandas进行时间序列处理详解
2018/03/13 Python
django中模板的html自动转意方法
2018/05/27 Python
Python实现矩阵相乘的三种方法小结
2018/07/26 Python
Python除法之传统除法、Floor除法及真除法实例详解
2019/05/23 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
原装进口全世界:天猫国际
2016/08/03 全球购物
安全生产检讨书
2014/01/21 职场文书
行政专员的岗位职责
2014/03/10 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
学校政风行风整改方案
2014/10/25 职场文书
医院见习报告范文
2014/11/03 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
人事行政部各岗位职责说明书!
2019/07/15 职场文书