超简单的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 正式我们 想要的

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

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值