本文使用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. 报错:ReferenceError: __dirname is not defined in ES module scope

    报错: __dirname is not defined in ES module scope 前言 新版 NodeJS 支持通过 ESM 方式导入模块,代码如: // CommonJS 规范(旧) ...

  2. ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm).

    报错 ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared me ...

  3. 解决本地代理问题 git 或者 curl Failed to connect to 127.0.0.1 port 1087 after 8 ms: Connection refused

    问题出现原因 git配置了代理 本地配置了代理 执行这个命令可以看到自己的代理设置: env | grep -I proxy 临时更改代理 在当前终端执行以下命令,就可以临时将代理取消掉 export ...

  4. Django实战项目-学习任务系统-发送短信通知

    接着上期代码内容,继续完善优化系统功能. 本次增加发送短信通知功能,学习任务系统发布的任务,为了更加及时通知到学生用户,再原有发送邮件通知基础上,再加上手机短信通知功能. 第一步:开通短信通知服务 目 ...

  5. Vscode写Markdown解决图片使用问题

      最近使用Vscode+Markdown写博客,图片不好弄,想了一下办法,有需要的人可以参考,有更方便的方法欢迎提出!   首先为了解决图片粘贴问题,下载一个扩展,Markdown Paste,下载 ...

  6. 关于CH182LED配置的说明

    CH182的LED配置有两种模式: 传统LED功能 该功能可通过页7寄存器19控制bit 3-5控制 使用时可将页7寄存器19 bit3 置0 通过bit4-5实现不同模式,默认情况下bit3为0,b ...

  7. 外网pnpm安装的node_modules包迁移到内网环境提示node_modules will be removed and reinstalled from scratch.Proceed?

    背景 由于内网没有所需的node包,于是在外网使用pnpm install安装后将node_modules复制到内网的项目目录下,内网执行pnpm install后提示node_modules wil ...

  8. 前端艺术实践:用Storybook构建交互式组件文档

    对于前端来说,组件话已经从热门话题变成了基础能力,自定义组件或自建组件库已是再常见不过的事了.在实际工作中组件库的文档直接决定开发体验和效率,文档建设的重要性不言而喻.今天要推荐的工具叫Storybo ...

  9. 大模型微调实战:通过 LoRA 微调修改模型自我认知

    本文主要分享如何使用 LLaMAFactory 实现大模型微调,基于 Qwen1.5-1.8B-Chat 模型进行 LoRA 微调,修改模型自我认知. 本文的一个目的:基于 Qwen1.5-1.8B- ...

  10. Laravel报错Call to undefined function Termwind\ValueObjects\mb_strimwidth()解决办法

    Laravel报错Call to undefined function Termwind\ValueObjects\mb_strimwidth() 通常是因为php的mbstring扩展没有打开 解决 ...