欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

2.創(chuàng)建一個文件夾,文件夾中創(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同級

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ò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ù)自己實際情況定義

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

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

最近做網(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');
})

總結(jié)

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

相關(guān)文章

  • 詳解Nodejs mongoose

    詳解Nodejs mongoose

    Mongoose 是在nodejs環(huán)境下,對mongodb進(jìn)行便捷操作的對象模型工具。本文介紹解(翻)密(譯)Mongoose插件。這篇文章給大家詳細(xì)介紹了Nodejs mongoose 的相關(guān)知識,感興趣的朋友一起看看吧
    2018-06-06
  • 淺談Node.js:Buffer模塊

    淺談Node.js:Buffer模塊

    本篇文章主要介紹了Node.js:Buffer模塊,詳細(xì)的介紹了創(chuàng)建Buffer實例,具有一定的參考價值,有需要的可以了解一下。
    2016-12-12
  • NodeJs?Express路由使用流程解析

    NodeJs?Express路由使用流程解析

    路由路徑和請求方法一起定義了請求的端點,它可以是字符串、字符串模式或者正則表達(dá)式。后端在獲取路由后,可通過一系列類似中間件的函數(shù)去執(zhí)行事務(wù)
    2023-01-01
  • node.js中的fs.read方法使用說明

    node.js中的fs.read方法使用說明

    這篇文章主要介紹了node.js中的fs.read方法使用說明,本文介紹了fs.read方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • node實現(xiàn)基于token的身份驗證

    node實現(xiàn)基于token的身份驗證

    這篇文章主要介紹了node實現(xiàn)基于token的身份驗證,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Node.js、Socket.IO和GPT-4構(gòu)建AI聊天機(jī)器人的項目實踐

    Node.js、Socket.IO和GPT-4構(gòu)建AI聊天機(jī)器人的項目實踐

    本文主要介紹了Node.js、Socket.IO和GPT-4構(gòu)建AI聊天機(jī)器人的項目實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 提升node.js中使用redis的性能遇到的問題及解決方法

    提升node.js中使用redis的性能遇到的問題及解決方法

    本文中提到的node redis client采用的基于node-redis封裝的二方包,因此問題排查也基于node-redis這個模塊。接下來通過本文給大家分享提升node.js中使用redis的性能
    2018-10-10
  • Nodejs+express+ejs簡單使用實例代碼

    Nodejs+express+ejs簡單使用實例代碼

    本篇文章主要介紹了Nodejs+express+ejs簡單使用實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 詳解Node.js中間件是怎樣工作的

    詳解Node.js中間件是怎樣工作的

    這篇文章主要介紹了詳解Node.js中間件是怎樣工作的,對中間件感興趣的同學(xué),可以參考下
    2021-04-04
  • NodeJS模塊Buffer原理及使用方法解析

    NodeJS模塊Buffer原理及使用方法解析

    這篇文章主要介紹了NodeJS模塊Buffer原理及使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11

最新評論