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

发布于 2022-09-06 11:40:26 字数 1995 浏览 14 评论 0

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;
}

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风尘浪孓 2022-09-13 11:40:26

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

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

就解决了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文