超简单的node脚本,将xlsx文件转化为json

开发场景,在一个官网中,官网的设计非常简单,就是一个纯静态的页面,全网站仅一个地方调一下接口,发一下用户填写的信息到运营同学的邮箱,这些数据不会记录在数据库,我需要做一个这样的下拉框。

但后端同学表示,数据库里面没有存这个数据,而且他们存这个数据也没有什么用。

于是产品给了一个国家的列表:

要怎么把这个文件里面的内容转成我想要的数据格式呢。

偷懒的办法,让后端同学写一个脚本帮我们转化。

但求人不如求己,既然后端同学可以写脚本帮我们转,我们自己也可以写个脚本来转化啊。

想到了nodejs,我对nodejs的api并不熟悉,但是读文件写文件啥的,还是有耳闻。

代码超级简单,20号代码直接搞定。

创建一个空文件夹,里面放一个index.js(文件名不重要,你想放什么都可以),统计目录要转化的文件phone.xlsx

1.index.js

2.phone.xlsx (要转化的文件)

// 引入xlsx库
var fs = require('fs')
var XLSX = require('xlsx')

// 读取xlsx文件
var workbook = XLSX.readFile('./phone.xlsx')

// 获取xlsx文件中的第一张表
var sheet_name_list = workbook.SheetNames
var worksheet = workbook.Sheets[sheet_name_list[0]]

// 使用xlsx库的工具将表转化为JSON对象数组
var jsonArray = XLSX.utils.sheet_to_json(worksheet)
// 将JSON对象数组转化为字符串
var jsonStr = JSON.stringify(jsonArray, null, 2)
// 打印结果
console.log(jsonArray)
// 将字符串写入到json文件
fs.writeFile('output.json', jsonStr, (err) => {
  if (err) throw err
  console.log('Data written to file')
})

然后在该文件夹下面运行以下命令

node index.js

然后你会发现,文件夹下面多出来好几个文件,其他的一些依赖我们不用管,这个output.json 正式我们 想要的

将这个文件拷贝到自己项目就可以用啦

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-05 23:04:06       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-05 23:04:06       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-05 23:04:06       87 阅读
  4. Python语言-面向对象

    2023-12-05 23:04:06       96 阅读

热门阅读

  1. 前端请求patch接口,只传入已修改字段值的字段

    2023-12-05 23:04:06       50 阅读
  2. PHP 判断给定两个时间是否在同一周,月,年

    2023-12-05 23:04:06       67 阅读
  3. 【Android】WebView 基本使用

    2023-12-05 23:04:06       45 阅读
  4. 自定义中间件

    2023-12-05 23:04:06       48 阅读
  5. 解读DreamPose:基于Diffusion Models的模特视频生成

    2023-12-05 23:04:06       66 阅读
  6. 传统算法:使用Pygame实现SVM(支持向量机)算法

    2023-12-05 23:04:06       62 阅读
  7. C++11的互斥量

    2023-12-05 23:04:06       56 阅读