侧边栏壁纸
博主头像
栗子 博主等级

行动起来,活在当下

  • 累计撰写 15 篇文章
  • 累计创建 11 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

LuckyExcel转为JSON格式

albert_luo
2025-06-14 / 0 评论 / 0 点赞 / 1 阅读 / 0 字
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

记录一下自己使用的一下代码片段:

ExcelToJson:function(fileUrl,fileName,callback){

    LuckyExcel.transformExcelToLuckyByUrl(fileUrl, fileName, function (exportJson, luckysheetfile) {
        if (exportJson.sheets == null || exportJson.sheets.length == 0) {
            layer.closeAll('loading');
            layer.msg('数据获取失败,请重试!');
            return;
        }

        var xlsxData = exportJson.sheets[0].celldata;
        var thList = [];
        xlsxData.forEach(function (item) {
            var vv;
            if (item.v.v !== undefined) {
                vv = item.v.v;
            } else if (item.v.ct && item.v.ct.s !== undefined) {
                vv = item.v.ct.s[0].v;
            } else {
                vv = '';
            }
            if (item.r == 0) {
                // 表头
                thList[item.c] = vv;
            }
        });

        var paiArr = [];
        for (let i in thList) {
            var obj = {};
            obj[thList[i]] = i;
            paiArr.push(obj);
        }

        var tableData = [];
        var objTemp = {};
        xlsxData.forEach(function (item, index) {
            var vv;
            if (item.v.v !== undefined) {
                vv = item.v.v;
            } else if (item.v.ct && item.v.ct.s !== undefined) {
                vv = item.v.ct.s[0].v;
            } else {
                vv = '';
            }

            if (item.r != 0) {
                // 表数据
                for (let i in paiArr) {
                    var cName = Object.keys(paiArr[i])[0];
                    if (item.c == paiArr[i][cName]) {
                        objTemp[cName] = vv;
                    }
                }
                var nextIndex = index + 1;
                if (nextIndex == xlsxData.length || xlsxData[nextIndex].r != item.r) {
                    // 没有下一个了,或 下一个是新一行开始
                    tableData.push({ ...objTemp });
                    objTemp = {};
                }
            }
        });

        // console.log(tableData);
        if (callback) {
            callback(tableData);
        }
    });
}

0

评论区