日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本篇文章帶大家了解一下前端如何使用Node.js實現(xiàn)JSON格式轉(zhuǎn)Excel 文件,Excel格式轉(zhuǎn)JSON文件,介紹一下它們進行轉(zhuǎn)換的流程,希望對大家有所幫助。


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


通常情況下我們 老板 / 客戶 想要的數(shù)據(jù)是以直觀的 Excel 格式展示出來,但我們前端或者后端的數(shù)據(jù)都是 JSON 格式的,那么就需要進行 JSON -> Excel 的文件格式轉(zhuǎn)換;如果我們做了一個網(wǎng)頁,里面有個<table>組件,要實現(xiàn)一個功能:導(dǎo)出為 Excel / 導(dǎo)入 Excel,那么就需要進行 JSON <-> Excel 的文件格式

把 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


60f7686690212.png


result.xlsx


60f7696b59866.png


代碼

需要引入的 npm 包有 fs、json2xls

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,
      '選項' : 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


60f76a8aa9405.png


result.json


60f76aa20bb1b.png


代碼

需要引入的 npm 包有 fs、node-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("文件生成成功");
}



分享到:
標(biāo)簽:Node.js JSON格式 Excel格式 雙向轉(zhuǎn)換
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定