美文网首页
小程序云数据库导入——excel2json

小程序云数据库导入——excel2json

作者: 龙猫_983c | 来源:发表于2020-06-07 12:19 被阅读0次

在使用小程序云作为项目开发的后台环境时,经常会遇到将客户提供的excel表格数据导入到云数据库的需求。因为小程序云数据库的导入文件格式暂时只支持csv和json两种格式,所以我们需要现在自己的电脑上将excel文件处理呈json文件,再导入到小程序云数据库。

安装Excel读写模块node-xlsx

npm install --save node-xlsx

读取excel文件,转换成小程序云所用的json格式并

新建excel2json.js

const xlsx = require('node-xlsx')
const fs = require('fs')

// 读取excel文件
const list = xlsx.parse(__dirname + '/../excel/name.xls')
// list:
// [
//     { 
//         name: 'firstSheet',
//         data: [
//                  ['姓名','年龄','性别'],
//                  ['张三','20','男'],
//                  ['小红','18','女']
//             ] 
//     },
//     { 
//         name: 'secondSheet',
//         data: [
//                  [Array], [Array]
//             ] 
//     }
// ]

// 转成小程序云所用的json
let data = list[0].data
let keys = data[0]
let str = ''
for (let i = data.length - 1; i--;) {
    // 必须使用 \n 换行区别每个记录,不能用逗号
    let item = {}
    // 使用excel表格的第一行作为keys
    for(let j = keys.length; j--;){
        item[keys[j]] = data[i][j]
    }

    str += JSON.stringify(item) + "\n"
}
        
// 保存到本地
fs.writeFileSync(__dirname + "/../json/name.json", str)

执行excel2json.js

node excel2json.js

要注意小程序所导入的json格式不是标准的json格式,而是一行一行的json字符串。所以得到的name.json格式如下:

{ "姓名": "张三", "年龄": "20", "性别": "男" }
{ "姓名": "小红", "年龄": "18", "性别": "女" }

该方法同时支持转化.xls.xlsx两种格式的excel文件

相关文章

网友评论

      本文标题:小程序云数据库导入——excel2json

      本文链接:https://www.haomeiwen.com/subject/lmzqtktx.html