express console.log打印有值,res.send返回的为空

express.js使用XLSX读取本地的一个文件,进行一系列处理后,console.log打印变量有值,而res.send在前端得到的是空的。
代码如下:


router.get('/output', function (req, res, next) {
    let output = getOutput();
    console.log(output);
    res.send(output);
});

function getOutput() {
    var workbook = XLSX.readFile('./public/doc.xlsx');
    const sheetdata = workbook.Sheets.sheet1;
    var tableLength = sheetdata['!ref'].match(/\d{2,}/)[0];
    var currentCenter = null, currentCenterStartNumber = null;
    var outputData = new Array();
    for (let index = 1; index < tableLength; index++) {
        const element = sheetdata["A" + index];
        if (element.v.match(/[\u4e2d][\u5fc3]/) != null) { // 匹配到 "中心" 才进行处理,否则不是我需要的单元格
            if (currentCenter == null) {
                currentCenter = element.v;
            }

            if (currentCenterStartNumber == null) {
                currentCenterStartNumber = sheetdata["B" + index].v;
            }

            if (currentCenter != element.v) {
                currentCenter = element.v;
                currentCenterStartNumber = sheetdata["B" + index].v;
            }

            let currentCenterItemsNumber = sheetdata["B" + index].v - currentCenterStartNumber + 1;
            let celThere = sheetdata["C" + index].v;
            let celFour = sheetdata["D" + index].v;

            let str = currentCenterItemsNumber + "." + celThere.replace(/[\u3002]/, '') + "," + celFour.toString().replace(/[\u3002]/, '') + ";"
            outputData[currentCenter] = outputData[currentCenter] == null ? str + "\n" : outputData[currentCenter] +  str + "\n";
        }
    }
    return outputData;
}

浏览器打开如下:
图片描述
控制台显示如下:
图片描述
新手,求指导,谢谢。

阅读 3.8k
1 个回答

已解决,是outputData数组的原因,把他拼接成

{
            "飞机维修中心": outputData['飞机维修中心'],
            "航材保障中心": outputData["航材保障中心"],
            "工程技术中心": outputData["工程技术中心"],
            "计划与控制中心": outputData["计划与控制中心"],
            "安全质量中心": outputData["安全质量中心"],
            "培训管理中心": outputData["培训管理中心"]
        }

就解决了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题