最近做網(wǎng)站爬蟲,爬取到的數(shù)據(jù)保存到一個name.json文件中,數(shù)據(jù)結(jié)構(gòu)大概是這樣的:
可以利用nodeJS把這個json文件轉(zhuǎn)成xlsx文件輸出,當(dāng)然瀏覽器環(huán)境也可以做到,網(wǎng)上有相關(guān)的方法。
我這里使用了fs模塊和第三方模塊json2xls,所以要先安裝json2xls:
npm install json2xls -D
// 在jsonToExcel.js中先引入核心模塊
const fs = require('fs') const json2xls = require('json2xls');
然后利用readFile讀取json文件,在回調(diào)函數(shù)中遍歷數(shù)組,在對象temp中定義表格需要展示的字段,再把temp添加到一個新的數(shù)組jsonArray。接著把jsonArray作為參數(shù)去調(diào)用json2xls方法,最后使用writeFileSync輸出xlsx文件。
fs.readFile('name.json','utf8',(err,data)=>{ if (err) throw err; const json = JSON.parse(data); const jsonArray = []; json.forEach(function(item){ let temp = { '類型' : item.type, '問題' : item.question, '答案' : item.trueAnswer } jsonArray.push(temp); }); let xls = json2xls(jsonArray); fs.writeFileSync('name.xlsx', xls, 'binary'); })