首页 > 编程语言 >nodejs实现将json转化为excel文件

nodejs实现将json转化为excel文件

时间:2024-08-30 17:27:13浏览次数:6  
标签:200 json2xls nodejs excel item json data

本文使用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)
    

标签:200,json2xls,nodejs,excel,item,json,data
From: https://www.cnblogs.com/bokemoqi/p/18389158

相关文章

  • 基于nodejs_vue+express框架个人健康管理系统的设计与实现_7999g
    个人健康管理系统按照功能由三部分构成的,三部份是用户、医生和管理员。主要功能有出诊医生、预约挂号、健康档案、疾病评枯等。系统软件用户、医生与管理员的功能模块图个人健康服务平台是以医院的状况为起点,综合网络空间开发设计要求。目的是将个人健康通过网络平台变换为在......
  • appsettins.json 复制到输出文件夹 CopyToOutpuDirectory 配置文件 csproj
    复制配置文件到输出文件夹<ItemGroup><NoneUpdate="appsettings.json"><CopyToOutputDirectory>Always</CopyToOutputDirectory></None><NoneUpdate="nlog.config"CopyToOutputDirectory="Always&qu......
  • python Pandas合并(单元格、sheet、excel )
    如果你对Python感兴趣的话,可以试试我整理的这一份全套的Python学习资料,【点击这里】免费领取!安装Pandas和openpyxl首先,确保已经安装了Pandas和openpyxl。可以通过pip安装:pip install pandas openpyxl创建DataFrameimportpandasaspd#创建DataFramed......
  • 初入nodejs
    序言:为了真正实现自己上线一个软件从现在开始学习后端初入nodejs学到的内容:首先理解的后端流程大概轮廓是创建服务器编写路由编写路由拦截器(GET、POST)连接数据库实现数据库的增删改查接着就是学习express.js和Koa.js这两个基于nodejs的框架我们一步一步来创建服......
  • JSON的概念及应用场景举例
    JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,它采用易于人阅读和机器解析的纯文本形式来表示结构化的数据。JSON基于ECMAScript(即JavaScript)的一个子集,但其语法和数据结构独立于任何特定的编程语言,因此被广泛应用于各种编程环境和平台之间进行数据交换。JSON......
  • Java Excel转PDF(免费)
    目前市面上Excel转PDF的组件较多:收费:aspose、GcExcel、spire开源:jacob、itextpdf其中收费的组件封装得比较好,代码简洁,转换的效果也很好,但收费也高得离谱:为了成本考虑,就需要考虑开源的组件了,因为它们都是免费的:jacob:目前没有探索出很好的导出效果。itextpdf:已探索出......
  • delphi操作excell文件实现学生均衡分班
    unitUnit1;interfaceusesWinapi.Windows,Winapi.Messages,System.SysUtils,System.Variants,System.Classes,Vcl.Graphics,Vcl.Controls,Vcl.Forms,Vcl.Dialogs,Vcl.StdCtrls,System.Win.ComObj;typeTForm1=class(TForm)Button1:TButton;......
  • gyp GET https://nodejs.org/download/release/v20.15.0/node-v20.15.0-headers.tar.g
    如图我执行yarn关于node会报错:gyphttpGEThttps://nodejs.org/download/release/v20.15.0/node-v20.15.0-headers.tar.gzgyphttpfetchGEThttps://nodejs.org/download/release/v20.15.0/node-v20.15.0-headers.tar.gzattempt1failedwithETIMEDOUTgypWARNins......
  • Vue3实现excel文件预览和打印
    预览excel关于实现excel文档在线预览的做法,一种方式是通过讲文档里的数据处理成html,一种是将文档处理成图片进行预览。首先我们先讲一下实现html这种方式预览的。Excel预览用的是xlsx这个库。xlsxxlsx是一个优秀的表格处理库,是一款适用于浏览器和nodejs的开源电子表格解析库"......
  • vue3导入excel表格并展示(使用xlsx插件+vite+element-plus)/js上传表格(js+xlsx)
    第一步:下载两个库npminstallfile-saver--savenpminstallxlsx--save第二步:引入import{saveAs}from'file-saver'import*asXLSXfrom'xlsx'第三步:给组件设置点击事件<el-form-item@click="handleExport">导出</el-for......