利用nodejs將xlsx文件導出爲json對象

首先新建一個項目文件夾,命名任意

然後在該文件夾下下載 node-xlsx  執行 npm install node-xlsx

然後下載 ejsexcel npm install ejsexcel --sava

然後編輯一個xlsx表格文件,保存到該文件夾下,命名 userList.xlsx


然後創建importFile.js文件,進行編輯

let path = require('path');
//使用ejsexcel讀取excel文件 npm install ejsexcel --save
let ejsExcel=require('ejsexcel');
let fs=require('fs');
//讀取excel
let exBuf=fs.readFileSync(__dirname+'/userList.xlsx');
let _data=[];
//獲取成功後
ejsExcel.getExcelArr(exBuf).then(exlJson=>{
//獲取excel數據
let workBook=exlJson;
//獲取excel第一張表 sheet1
let workSheets=workBook[0];
//導出js的路徑
let newfilepath=path.join(__dirname,"/test.js");
//遍歷第一張表的的每一行數據
workSheets.forEach((item,index)=>{
//從第二行開始插入,避免連表頭也插入_data裏面
if(index>0){
//往_data插入單元格個值,item[0]相當於excel中的姓名,item[1]就是excel中的聯繫電話
_data.push({
name:item[0],
phone:item[1]
})
}
});
//寫入js文件
fs.writeFileSync(newfilepath, 'let _data='+JSON.stringify(_data)+';export {_data}');}).catch(error=>{
//打印獲取失敗信息
console.log("讀取錯誤!");
console.log(error);
});


然後在該文件夾下執行 node importFile.js

文件下載,編輯、完成之後如下圖所示:


多了一個test.js,裏面就是生成的json對象文件

index.html和jQuery JS文件不用考慮,是其他內容,和這個無關。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章