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;
}
浏览器打开如下:
控制台显示如下:
新手,求指导,谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
已解决,是
outputData
数组的原因,把他拼接成就解决了。