溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Node.js中JSON格式和Excel格式的雙向轉(zhuǎn)換方法

發(fā)布時(shí)間:2021-07-19 10:38:21 來源:億速云 閱讀:721 作者:chen 欄目:web開發(fā)

這篇文章主要講解了“Node.js中JSON格式和Excel格式的雙向轉(zhuǎn)換方法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Node.js中JSON格式和Excel格式的雙向轉(zhuǎn)換方法”吧!

把 JSON 轉(zhuǎn)換成 Excel 文件

流程

  • 利用 fs 模塊讀入數(shù)據(jù)并使用JSON.parse()方法轉(zhuǎn)換格式

  • 遍歷數(shù)據(jù),處理得到 Object

  • 利用 json2xls 模塊轉(zhuǎn)換 Object 得到變量,利用 fs 模塊寫出 Excel

例子

參考 nodeJS把json數(shù)據(jù)轉(zhuǎn)成excel(xlsx文件)輸出 的例子,借助其需求:網(wǎng)站爬蟲爬取到的數(shù)據(jù)轉(zhuǎn)換為 Excel 文件:

data.json

Node.js中JSON格式和Excel格式的雙向轉(zhuǎn)換方法

result.xlsx

Node.js中JSON格式和Excel格式的雙向轉(zhuǎn)換方法

代碼

需要引入的 npm 包有 fsjson2xls

const fs = require('fs')
const json2xls = require('json2xls');

fs.readFile('data.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,
      '選項(xiàng)' : item.answers,
      '答案' : item.trueAnswer
    }
    jsonArray.push(temp);
  });
  
  let xls = json2xls(jsonArray);
  
  fs.writeFileSync('result.xlsx', xls, 'binary');
})

把 Excel 轉(zhuǎn)換成 JSON 文件

流程

  • 讀取本地 Excel 文件到變量暫存;

  • 處理變量數(shù)據(jù);(根據(jù)各自需求處理)

  • 處理后的數(shù)據(jù)寫入本地 JSON 文件

例子

參考 Node.js excel轉(zhuǎn)json 文章,借助其需求:把 data.xlsx 文件轉(zhuǎn)換成 result.json

data.xlsx

Node.js中JSON格式和Excel格式的雙向轉(zhuǎn)換方法

result.json

Node.js中JSON格式和Excel格式的雙向轉(zhuǎn)換方法

代碼

需要引入的 npm 包有 fsnode-xlsx,步驟按照上面的三部曲

var xlsx = require("node-xlsx");
var fs = require('fs');
var list = xlsx.parse("raw-data.xlsx"); // 需要轉(zhuǎn)換的excel文件

var data = list[0].data;  // 1.讀取json數(shù)據(jù)到變量暫存
var len = data.length;
var outData_cn = {}; // 中文
var outData_us = {}; // 英文
for(let i = 0; i < len; i ++){  // 2. 數(shù)據(jù)處理
    let item = data[i];
    outData_cn[item[0]] = item[1];
    outData_us[item[0]] = item[2];
}
var outData = {
    cn: outData_cn,
    us: outData_us
}

fs.writeFile("result.json",JSON.stringify(outData),'utf-8',complete);  //  3. 數(shù)據(jù)寫入本地json文件
//           輸出的json文件        數(shù)據(jù)          文件編碼格式 完成事件
function complete(err) {
   if(!err) console.log("文件生成成功");
}

感謝各位的閱讀,以上就是“Node.js中JSON格式和Excel格式的雙向轉(zhuǎn)換方法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Node.js中JSON格式和Excel格式的雙向轉(zhuǎn)換方法這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI