最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node express如何實(shí)現(xiàn)json轉(zhuǎn)Excel

 更新時(shí)間:2024年08月07日 17:09:59   作者:shimh_涼茶  
這篇文章主要介紹了node express如何實(shí)現(xiàn)json轉(zhuǎn)Excel問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

node express實(shí)現(xiàn)json轉(zhuǎn)Excel

有些場(chǎng)景我們需要將json或js中的數(shù)據(jù)對(duì)象轉(zhuǎn)換成Excel文檔,作為一個(gè)前端,服務(wù)框架最應(yīng)該熟悉的就是node了,以下是基于多語(yǔ)言轉(zhuǎn)換實(shí)現(xiàn)代碼,看明白原理自己改一改就能用了

1.安裝node環(huán)境

2.創(chuàng)建一個(gè)文件夾,文件夾中創(chuàng)建 package.json內(nèi)容如下

{ 
  "dependencies": {
    "express": "^4.18.2",
    "fs": "^0.0.1-security",
    "node-xlsx": "^0.23.0"
  }
}

3.命令行切至文件夾內(nèi),執(zhí)行命令 npm i

4.文件夾內(nèi)創(chuàng)建 JsonToExcel.js,與package.json同級(jí)

var xlsx = require('node-xlsx');
const fs = require('fs');
var jsonPs = require('./json_zh/zh.json');

const dataList = []
// json轉(zhuǎn)excel
for (k in jsonPs) {
  // 組合每一行的key value 列
  dataList.push([k, jsonPs[k]])
}
console.log('dataList:', dataList)

const list = [
  {
    name: "sheet", // 工作薄的名稱
    data: [
      // ["第1行第1列", "第1行第2列", "第1行第3列"],
      // ["第2行第1列", "第2行第2列", "第2行第3列"]
      ...dataList
    ],
  },
  // 如果多個(gè)工作薄, 就是多個(gè)對(duì)象。格式如上
];
// 使用提供的構(gòu)建 xlsx 文件的方法
const buffer = xlsx.build(list);

fs.writeFile('fileList/zh.xls', buffer, (err) => {
  if (err) {
    console.log(err, "導(dǎo)出excel失敗");
  } else {
    console.log("導(dǎo)出excel成功!");
  }
});

5.導(dǎo)入來源和導(dǎo)出生成文件路徑根據(jù)自己實(shí)際情況定義

6.執(zhí)行命令 node JsonToExcel.js

nodeJS把json數(shù)據(jù)轉(zhuǎn)成excel(xlsx文件)輸出

最近做網(wǎng)站爬蟲,爬取到的數(shù)據(jù)保存到一個(gè)name.json文件中

數(shù)據(jù)結(jié)構(gòu)大概是這樣的:

可以利用nodeJS把這個(gè)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ù)組,在對(duì)象temp中定義表格需要展示的字段,再把temp添加到一個(gè)新的數(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');
})

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Windows下Node爬蟲神器Puppeteer安裝記

    Windows下Node爬蟲神器Puppeteer安裝記

    這篇文章主要介紹了Windows下Node爬蟲神器Puppeteer安裝記,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • nodejs環(huán)境快速操作mysql數(shù)據(jù)庫(kù)的方法詳解

    nodejs環(huán)境快速操作mysql數(shù)據(jù)庫(kù)的方法詳解

    這篇文章主要介紹了nodejs環(huán)境快速操作mysql數(shù)據(jù)庫(kù)的方法詳解,需要的朋友可以參考下
    2021-03-03
  • Nodejs訪問網(wǎng)絡(luò)并解析返回的json的實(shí)現(xiàn)方法

    Nodejs訪問網(wǎng)絡(luò)并解析返回的json的實(shí)現(xiàn)方法

    本文主要介紹了Nodejs訪問網(wǎng)絡(luò)并解析返回的json的實(shí)現(xiàn)方法,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • node.js中的console.warn方法使用說明

    node.js中的console.warn方法使用說明

    這篇文章主要介紹了node.js中的console.warn方法使用說明,本文介紹了console.warn的方法說明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • module.exports和exports使用誤區(qū)案例分析

    module.exports和exports使用誤區(qū)案例分析

    module.exports和exports使用誤區(qū),使用require()模塊時(shí),得到的永遠(yuǎn)都是module.exports指向的對(duì)象
    2023-04-04
  • Node.js中操作MongoDB的CRUD操作指南

    Node.js中操作MongoDB的CRUD操作指南

    在Node.js中操作MongoDB常見的庫(kù)有mongodb原生驅(qū)動(dòng)和mongoose等,本文將使用mongodb官方驅(qū)動(dòng)包來進(jìn)行示例,在開始之前,請(qǐng)確保已經(jīng)安裝了MongoDB數(shù)據(jù)庫(kù)并且在本地啟動(dòng)了MongoDB服務(wù),需要的朋友可以參考下
    2024-01-01
  • 使用Phantomjs和Node完成網(wǎng)頁(yè)的截屏快照的方法

    使用Phantomjs和Node完成網(wǎng)頁(yè)的截屏快照的方法

    這篇文章主要介紹了使用Phantomjs和Node完成網(wǎng)頁(yè)的截屏快照的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Node.js 的 GC 機(jī)制詳解

    Node.js 的 GC 機(jī)制詳解

    隨著 Node 的發(fā)展,JavaScript 的應(yīng)用場(chǎng)景早已不再局限在瀏覽器中。但隨著 Node 在服務(wù)端的廣泛應(yīng)用,JavaScript 的內(nèi)存管理需要引起我們的重視。下面我們來一起學(xué)習(xí)一下吧
    2019-06-06
  • 解決WebSocket的兼容性問題及過程

    解決WebSocket的兼容性問題及過程

    本文介紹了如何解決WebSocket的兼容性問題,包括原生WebSocket和SockJS、Socket.IO等解決方案
    2025-12-12
  • Nodejs實(shí)現(xiàn)多人同時(shí)在線移動(dòng)鼠標(biāo)的小游戲分享

    Nodejs實(shí)現(xiàn)多人同時(shí)在線移動(dòng)鼠標(biāo)的小游戲分享

    這篇文章主要介紹了Nodejs實(shí)現(xiàn)多人同時(shí)在線移動(dòng)鼠標(biāo)的小游戲分享,本文給出了服務(wù)器端和客戶端代碼以及運(yùn)行方法,需要的朋友可以參考下
    2014-12-12

最新評(píng)論

确山县| 阿瓦提县| 肥西县| 左云县| 涡阳县| 陕西省| 临漳县| 恩平市| 宜阳县| 同心县| 泾川县| 新昌县| 肇东市| 邹平县| 乌鲁木齐县| 行唐县| 景泰县| 旺苍县| 古浪县| 邯郸市| 西华县| 闸北区| 辉县市| 广昌县| 政和县| 虞城县| 乐昌市| 青川县| 富阳市| 哈尔滨市| 隆林| 酒泉市| 上思县| 邻水| 胶南市| 九台市| 夏河县| 萝北县| 报价| 达拉特旗| 洮南市|