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

nodejs实现将json转化为excel文件的更多相关文章

  1. 将ArcGIS Server的JSON转化为SHP文件

    # -*- coding: utf-8 -*- # -------------------------------------------------------------------------- ...

  2. Json文件转换为Excel文件!涉及读文件,时间戳转化,写文档

    一. 思路 今天接到个小任务,让把json文件转换成excel文件,按照列展开. 思路:既然json已经都已经是现成的,那直接将json文件做读操作,在通过不同的key,找到对应的信息,在存到单元格中 ...

  3. 实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件

    今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多 ...

  4. l创建Excel文件

    最近的项目中遇到需要将List<Map<String,String>>存储到Excel文件中,为满足此需求设计实现了如下函数: /** * 将MapList转化为Excel文件 ...

  5. 如何使用JavaScript实现前端导入和导出excel文件

    一.SpreadJS 简介 SpreadJS 是一款基于 HTML5 的纯 JavaScript 电子表格和网格功能控件,以“高速低耗.纯前端.零依赖”为产品特色,可嵌入任何操作系统,同时满足 .NE ...

  6. C#实现DataTable转为Excel文件

    实现DataTable转为Excel文件,和上次分享的Excel文件转为DataTable互为反操作.DataTable转化为Excel文件是通过传入一个DataTable类型的参数,然后将传入的Da ...

  7. NodeJs实现下载Excel文件

    nodejs作为一门新的语言,报表功能也不是十分完善. (1).js-xlsx : 目前 Github 上 star 数量最多的处理 Excel 的库,支持解析多种格式表格XLSX / XLSM / ...

  8. NodeJs之EXCEL文件导入导出MongoDB数据库数据

    NodeJs之EXCEL文件导入导出MongoDB数据库数据 一,介绍与需求 1.1,介绍 (1),node-xlsx : 基于Node.js解析excel文件数据及生成excel文件. (2),ex ...

  9. 原生js封装ajax:传json,str,excel文件上传表单提交

    由于项目中需要在提交ajax前设置header信息,jquery的ajax实现不了,我们自己封装几个常用的ajax方法. jQuery的ajax普通封装 var ajaxFn = function(u ...

  10. Excel 文件转 JSON格式对象

    将导入的如图所示格式的城乡区划代码的excel文件整理成json格式的对象储存在js文件中: var PROJECTDISTRICTDATA=[    {        "name" ...

随机推荐

  1. TPC-H 研究和优化尝试

    TPC-H测试提供了8张表,最近做这个测试,记录下过程中的关键点备忘. 1.整体理解TPC-H 8张表 2.建立主外键约束后测试22条SQL 3.分区表改造,确认分区字段 4.重新测试22条SQL 5 ...

  2. rust学习笔记(1)

    参考 rust圣经 参考 通过例子学习rust cargo 是rust的包管理器+编译工具 创建新项目 使用下述指令创建一个新的项目 cargo new rust_learn 执行 使用 cargo ...

  3. antd+vue 中select组件的自定义后缀图标不显示问题记录

    根据项目需求,需要使用select组件,并自定义后缀图标,但是设置了没的效果,这是我的代码和效果图 后来查看代码发现需要给select组件加上showArrow属性,然后实现了效果,看效果图 这里记录 ...

  4. k8s 报错: node(s) didn't match Pod's node affinity.

    前言 k8s集群中,有pod出现了 Affinity ,使用 kubectl describe pod 命令,发现了报错 2 node(s) didn't match Pod's node affin ...

  5. mysql8导入myslq5 报错

    打开sql文件替换 我的数据库编码是utf8mb4,如果你的数据库编码是别的,替换成你自己的编码. utf8mb4_0900_ai_ci替换为utf8mb4_general_ci

  6. nginx同时使用(http)80和(https)443端口详解

    server { listen 443 ssl; #监听https 443时需加ssl server_name ; #你的域名 ssl on; ssl_certificate ; #证书路径 ssl_ ...

  7. 一文搞懂MCP协议与Function Call的区别

    一.前言 大家好,我是六哥! 今天咱们聊聊编程里两个听起来有点复杂的概念--MCP协议和函数调用(function call),其实用大白话来讲,它们就是两种不同的"沟通方式",就 ...

  8. WebKit Inside: px 与 pt

    前端CSS中的px是物理像素,还是逻辑像素? 它和iOS中的pt是怎样的关系? 下面我们就来看下CSS中的px实现. 假设有如下CSS字号设置: div { font-size: 100px; } 最 ...

  9. 调用 restful的api的方法

    var // myurl : string; tmpstr : String;// string; RespData :TStringStream; sendData : TStringList; j ...

  10. 思绪碎片:一个INFP的自我对话

    ## 关于存在与意义 > "我写一些东西,不是为了让别人看见,而是为了未来的我." -- 阮一峰 - 未知带来的心慌持续蔓延 - **根本症结**:自身的弱小,无法坦然面对生 ...