node express如何实现json转Excel

 更新时间:2024年08月07日 17:09:59   作者:shimh_凉茶  
这篇文章主要介绍了node express如何实现json转Excel问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

node express实现json转Excel

有些场景我们需要将json或js中的数据对象转换成Excel文档,作为一个前端,服务框架最应该熟悉的就是node了,以下是基于多语言转换实现代码,看明白原理自己改一改就能用了

1.安装node环境

2.创建一个文件夹,文件夹中创建 package.json内容如下

{ 
  "dependencies": {
    "express": "^4.18.2",
    "fs": "^0.0.1-security",
    "node-xlsx": "^0.23.0"
  }
}

3.命令行切至文件夹内,执行命令 npm i

4.文件夹内创建 JsonToExcel.js,与package.json同级

var xlsx = require('node-xlsx');
const fs = require('fs');
var jsonPs = require('./json_zh/zh.json');

const dataList = []
// json转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
    ],
  },
  // 如果多个工作薄, 就是多个对象。格式如上
];
// 使用提供的构建 xlsx 文件的方法
const buffer = xlsx.build(list);

fs.writeFile('fileList/zh.xls', buffer, (err) => {
  if (err) {
    console.log(err, "导出excel失败");
  } else {
    console.log("导出excel成功!");
  }
});

5.导入来源和导出生成文件路径根据自己实际情况定义

6.执行命令 node JsonToExcel.js

nodeJS把json数据转成excel(xlsx文件)输出

最近做网站爬虫,爬取到的数据保存到一个name.json文件中

数据结构大概是这样的:

可以利用nodeJS把这个json文件转成xlsx文件输出,当然浏览器环境也可以做到,网上有相关的方法。

我这里使用了fs模块和第三方模块json2xls,所以要先安装json2xls

npm install json2xls -D

// 在jsonToExcel.js中先引入核心模块

const fs = require('fs')
const json2xls = require('json2xls');

然后利用readFile读取json文件,在回调函数中遍历数组,在对象temp中定义表格需要展示的字段,再把temp添加到一个新的数组jsonArray

接着把jsonArray作为参数去调用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');
})

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • node-red File读取好保存实例讲解

    node-red File读取好保存实例讲解

    在本篇文章里小编给大家整理了关于node-red File读取好保存的相关知识点内容,有需要的朋友们可以参考下。
    2019-09-09
  • xtemplate node.js 的使用方法实例解析

    xtemplate node.js 的使用方法实例解析

    这篇文章主要介绍了xtemplate node.js 的使用方法实例说明,非常不错,介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • 运行Node.js的IIS扩展iisnode安装配置笔记

    运行Node.js的IIS扩展iisnode安装配置笔记

    这篇文章主要介绍了运行Node.js的IIS扩展iisnode安装配置笔记,iisnode的扩展可以把Node.js程序托管到IIS,托管之后也意味着可以使用IIS里面的各种功能,需要的朋友可以参考下
    2015-03-03
  • 使用Node.js构建微服务的方法

    使用Node.js构建微服务的方法

    这篇文章主要介绍了使用Node.js构建微服务,将介绍微服务架构、优势以及如何使用Node.js开发微服务,需要的朋友可以参考下
    2022-08-08
  • 利用node实现一个批量重命名文件的函数

    利用node实现一个批量重命名文件的函数

    这篇文章主要给大家介绍了关于利用node实现一个批量重命名文件的函数的相关资料,文中通过示例示例代码介绍的非常详细,对大家学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • node.js中使用socket.io制作命名空间

    node.js中使用socket.io制作命名空间

    这篇文章主要介绍了node中使用socket.io制作命名空间,需要的朋友可以参考下
    2014-12-12
  • 微信小程序搭载node.js服务器的简单教程

    微信小程序搭载node.js服务器的简单教程

    小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验,下面这篇文章主要给大家介绍了关于微信小程序搭载node.js服务器的简单教程,需要的朋友可以参考下
    2022-12-12
  • node通过express搭建自己的服务器

    node通过express搭建自己的服务器

    本篇文章主要介绍了node通过express搭建自己的服务器 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • nodejs中解决异步嵌套循环和循环嵌套异步的问题

    nodejs中解决异步嵌套循环和循环嵌套异步的问题

    本篇文章主要介绍了nodejs中解决异步嵌套循环和循环嵌套异步的问题,具有一定的参考价值,有兴趣的可以了解一下
    2017-07-07
  • NodeJs版本过高无法启动Vue项目报错的几种解决方法

    NodeJs版本过高无法启动Vue项目报错的几种解决方法

    在开发vue项目时,我们通常使用nodejs作为项目的运行环境,但是有时候,由于nodejs版本过高,可能会导致vue项目启动报错,这篇文章主要给大家介绍了关于NodeJs版本过高无法启动Vue项目报错的几种解决方法,需要的朋友可以参考下
    2023-12-12

最新评论