评论

微信小程序.xls文件转变成.json

微信小程序.xls文件转变成.json

微信云开发数据库。。。不人性化

最近在开发课表小程序,要导入4万条数据。。。

大量数据导入会把云函数内存撑爆,导致超时。。。

正文开始

思路:

用node-xls读取内容------>数据格式化------>fs模块导出

代码:

  const xlsx = require('node-xlsx');//npm下载并导入

  let list = xlsx.parse("./2.xls"); //获取文件内容
  let data = []
  let dataArr = list[0].data  //获取数据
  for (let ind = 1; ind < dataArr.length; ind++) {  //从第二个开始获取
    const element = dataArr[ind];
    data.push({//对数据格式化
      term: element[0], 
      id: element[1], 
    })
  }
  let toJson = JSON.stringify(data)
  let d = toJson.replace(/},{/g, "}{")//删除,
  let finalData = d.slice(1, -1)  //删除【】
  fs.writeFile('./try4.json', finalData, function (err) {//fs模块导出
    if (err) throw err;
    console.log('文件已被保存');
  })


复制代码

成果

后面可以选择云函数http导入或者手动导入!

就这么简单。。。

第一次写得不好勿喷


作者:H. Z.

链接:https://juejin.im/post/6864871508695744525

来源:掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

点赞 1
收藏
评论

1 个评论

  • 老张
    老张
    08-26

    既然是xls,不能另存为csv吗?云控制台导入csv很方便啊。

    08-26
    赞同
    回复 3
    • H. Z.
      H. Z.
      08-27
      emmm csv我还没有用过。。。。有空我尝试一下
      08-27
      回复
    • 老张
      老张
      08-27回复H. Z.
      所以,你花上估计几天时间的事,也就是另存为csv,只要两分钟就搞定。这也算是踩个辛苦坑了。
      08-27
      回复
    • H. Z.
      H. Z.
      08-28回复老张
      哦哦,另存为csv,一开始我就试过了,不知道为什么,有一些符号会乱码。后面就弄成json,反正不用多久啊。。。还可以洗一下数据,我看见有人问,顺便写一下
      08-28
      回复
登录 后发表内容