nodejs讀取并去重excel文件
如何使用,直接上代碼
/**
* 安裝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']]
}]
以上就是小編整理的全部?jī)?nèi)容,很多時(shí)候我們用到對(duì)EXCEL的文件操作,大家在測(cè)試的時(shí)候如還有任何疑問(wèn)可以在下面的留言區(qū)討論,感謝大家對(duì)腳本之家的支持。
相關(guān)文章
前端token中4個(gè)存儲(chǔ)位置的優(yōu)缺點(diǎn)說(shuō)明
這篇文章主要介紹了前端token中4個(gè)存儲(chǔ)位置的優(yōu)缺點(diǎn)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
Vue3+TypeScript報(bào)錯(cuò):無(wú)法找到模塊xx的聲明文件問(wèn)題
這篇文章主要介紹了Vue3+TypeScript報(bào)錯(cuò):無(wú)法找到模塊xx的聲明文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
談?wù)刅UE種methods watch和compute的區(qū)別和聯(lián)系
本篇文章主要介紹了談?wù)刅UE種methods watch和compute的區(qū)別和聯(lián)系,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08
詳解vue3結(jié)合ts項(xiàng)目中使用mockjs
這篇文章主要為大家介紹了vue3結(jié)合ts項(xiàng)目中使用mockjs示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
前端使用el-table自帶排序功能\后端排序方法實(shí)例
在Vue.js中使用Element UI庫(kù)時(shí)可以通過(guò)el-table組件來(lái)展示表格數(shù)據(jù),并支持列排序,下面這篇文章主要給大家介紹了關(guān)于前端使用el-table自帶排序功能\后端排序的相關(guān)資料,需要的朋友可以參考下2024-08-08
Vue3中動(dòng)態(tài)修改樣式與級(jí)聯(lián)樣式優(yōu)先順序圖文詳解
在項(xiàng)目中,我們時(shí)常會(huì)遇到動(dòng)態(tài)的去綁定操作切換不同的CSS樣式,下面這篇文章主要給大家介紹了關(guān)于Vue3中動(dòng)態(tài)修改樣式與級(jí)聯(lián)樣式優(yōu)先順序的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04
基于Vue實(shí)現(xiàn)平滑過(guò)渡的拖拽排序功能
這篇文章主要介紹了vue實(shí)現(xiàn)平滑過(guò)渡的拖拽排序功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06

