nodejs讀取并去重excel文件
更新時(shí)間:2018年04月22日 14:12:14 投稿:laozhang
給大家?guī)硪黄P(guān)于用nodejs實(shí)現(xiàn)excel文件的讀取并去重的功能,有興趣的朋友參考學(xué)習(xí)下。
如何使用,直接上代碼
/**
* 安裝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:指第一個(gè)sheet的表格數(shù)據(jù)
//data內(nèi)部的數(shù)據(jù)結(jié)構(gòu)為:
//[[ '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導(dǎo)出的數(shù)據(jù)結(jié)構(gòu)如下:
//json結(jié)構(gòu)
[{
name: 'sheet1 name',
data: [['field1', 'field2', 'field13'],
['field1', 'field2', 'field13']]
},
{
name: 'sheet2 name',
data: [['field1', 'field2', 'field13'],
['field1', 'field2', 'field13']]
}]
以上就是小編整理的全部內(nèi)容,很多時(shí)候我們用到對(duì)EXCEL的文件操作,大家在測試的時(shí)候如還有任何疑問可以在下面的留言區(qū)討論,感謝大家對(duì)腳本之家的支持。
相關(guān)文章
如何在基于vue-cli的項(xiàng)目自定義打包環(huán)境
本篇文章主要介紹了在基于vue-cli的項(xiàng)目自定義打包環(huán)境,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11
vue3項(xiàng)目中配置sass,vite報(bào)錯(cuò)Undefined mixin問題
這篇文章主要介紹了vue3項(xiàng)目中配置sass,vite報(bào)錯(cuò)Undefined mixin問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
vue中el-table多層級(jí)嵌套的具體實(shí)現(xiàn)
本文主要介紹了vue中el-table多層級(jí)嵌套的具體實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10
VeeValidate在vue項(xiàng)目里表單校驗(yàn)應(yīng)用案例
這篇文章主要介紹了VeeValidate在vue項(xiàng)目里表單校驗(yàn)應(yīng)用案例,VeeValidate是Vue.js的驗(yàn)證庫,它有很多驗(yàn)證規(guī)則,并支持自定義規(guī)則,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-05-05

