nodejs讀取并去重excel文件
更新時間:2018年04月22日 14:12:14 投稿:laozhang
給大家?guī)硪黄P(guān)于用nodejs實現(xiàn)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:指第一個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)容,很多時候我們用到對EXCEL的文件操作,大家在測試的時候如還有任何疑問可以在下面的留言區(qū)討論,感謝大家對腳本之家的支持。
相關(guān)文章
Vue3+TypeScript報錯:無法找到模塊xx的聲明文件問題
這篇文章主要介紹了Vue3+TypeScript報錯:無法找到模塊xx的聲明文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11談?wù)刅UE種methods watch和compute的區(qū)別和聯(lián)系
本篇文章主要介紹了談?wù)刅UE種methods watch和compute的區(qū)別和聯(lián)系,具有一定的參考價值,有興趣的可以了解一下2017-08-08Vue3中動態(tài)修改樣式與級聯(lián)樣式優(yōu)先順序圖文詳解
在項目中,我們時常會遇到動態(tài)的去綁定操作切換不同的CSS樣式,下面這篇文章主要給大家介紹了關(guān)于Vue3中動態(tài)修改樣式與級聯(lián)樣式優(yōu)先順序的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-04-04