我正在使用'exceljs'npm从excel文件读取数据。在下面的函数中,当值中为null时,我想返回行号并结束该函数。
workbook.xlsx.readFile(request.path).then(function () {
// use workbook
let worksheet = workbook.getWorksheet('worksheet');
worksheet.eachRow(function(row, rowNumber){
console.log("Row " + rowNumber + " = " + JSON.stringify(row.values));
if(row.values[1] == null || row.values == undefined) {
// return rowNumber here and end the function.
}
});
});
这就是我一直在做的。 'request.path'包含文件的路径。一切正常,我只需要在代码中提到的条件下结束worksheet.eachRow()
。
答案 0 :(得分:0)
eachRow()
函数是Click for Solution at codepen,并没有做任何特别神奇的事情。最简单的解决方案是自己做循环。
workbook.xlsx.readFile(request.path).then(function () {
// use workbook
let worksheet = workbook.getWorksheet('worksheet');
for (var rowNumber = 0; rowNumber < worksheet.rowCount; rowNumber++) {
row = worksheet.getRow(rowNumber);
console.log("Row " + rowNumber + " = " + JSON.stringify(row.values));
if(row.values[1] == null || row.values == undefined) {
// return rowNumber here and end the function.
}
}
});
请注意,eachRow()
函数默认情况下会跳过空行,因此至少不会满足您的条件之一。