nodejs实现将json转化为excel文件

本文使用node.js实现将json数据转换导出为excel文件。

一、安装json2xls

npm i json2xls

二、封装转换方法

新增jsonToExcel.js文件,该文件用于将json数据(对象数组)转换为excel文件,文件内容如下:

const fs = require('fs') // 引入文件系统模块
const json2xls = require('json2xls'); // 引入json2xls模块

/**
 * 下载excel
 * @param {*} jsonData json数据(对象数组),格式为[{object},{object},{object}]
 */
function downLoadExcle(jsonData) {
    const jsonArray = []; // 定义一个空数组
    jsonData.forEach((item) => {   // 遍历json数据
        jsonArray.push({
            "测试机ID": item.ident,
            "测试状态": item.data.status,
            "响应延迟时间":item.data.duration,
            "测试响应状态码":item.data.code,
            "测试时间":item.data.time
        })
    })
    let xls = json2xls(jsonArray); // json2xls方法将json对象转换为excel文件
    fs.writeFileSync('./test_result.xlsx', xls, 'binary'); // 将excel文件写入到本地
}

module.exports = {
    downLoadExcle
}

三、使用示例

// index.js

const { downLoadExcle } = require('./jsonToExcel')  //引入封装方法

// json模拟数据
let jsonExamData =[
        {
            "type": 200,
            "ident": "e5ffba64-27b9-4cde-8b8c-7085b5bcb3fe",
            "data": {
                "status": 200,
                "message": "success",
                "taskType": "runTask1",
                "code": 200,
                "time": "08-29 17:17:48:460",
                "duration": 99
            }
        },
        {
            "type": 200,
            "ident": "e5ffba64-27b9-4cde-8b8c-7085b5bcb3fe",
            "data": {
                "status": 200,
                "message": "success",
                "taskType": "runTask1",
                "code": 200,
                "time": "08-29 17:17:48:828",
                "duration": 78
            }
        }
]  //模拟数据

// 使用封装方法转换json为excel并写入到本地
   downLoadExcle(jsonExamData)
    
posted @ 2024-08-30 17:29  莫颀  阅读(129)  评论(0编辑  收藏  举报