最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何突破eachRow方法?

IT培训 admin 16浏览 0评论

如何突破eachRow方法?

如果满足条件,那么我想停止循环其余行:

var express = require('express');
var router = express.Router();
var Excel = require("exceljs");
var path = require("path");

router.get("/lireExcel/:nbRows", function(req, res) {
    var ret = [];
    var nb = req.params.nbRows;
    var i = 0;
    var filename = path.join(__dirname, 'test.xlsx');
    var workbook = new Excel.Workbook();
    workbook.xlsx.readFile(filename).then(function () {
        var sheet = workbook.getWorksheet(1);
        sheet.eachRow(function(enreg, rowNumber) {
            if (rowNumber > 1) { // after the header
                i++;
                if (i <= nb) { // get only the nb number of rows
                    var row = sheet.getRow(rowNumber);
                    var msisdn = row.getCell(1).value;
                    var matricule = row.getCell(2).value;
                    if (msisdn != null) {
                        ret.push({"msisdn":msisdn, "immatriculation":matricule});
                    }
                }
                else {
                    // how to get out of the loop here ?
                }
            }
        }
    }
});

在这种情况下如何摆脱eachRow方法?

回答如下:

您可以按顺序逐行阅读

for(let i = 0; i < totalRow; i++){

    result = getRow(i)  //you can do this with an asynchronous call      

    if (result == condition) {
        break;
    }
}

如何突破eachRow方法?

如果满足条件,那么我想停止循环其余行:

var express = require('express');
var router = express.Router();
var Excel = require("exceljs");
var path = require("path");

router.get("/lireExcel/:nbRows", function(req, res) {
    var ret = [];
    var nb = req.params.nbRows;
    var i = 0;
    var filename = path.join(__dirname, 'test.xlsx');
    var workbook = new Excel.Workbook();
    workbook.xlsx.readFile(filename).then(function () {
        var sheet = workbook.getWorksheet(1);
        sheet.eachRow(function(enreg, rowNumber) {
            if (rowNumber > 1) { // after the header
                i++;
                if (i <= nb) { // get only the nb number of rows
                    var row = sheet.getRow(rowNumber);
                    var msisdn = row.getCell(1).value;
                    var matricule = row.getCell(2).value;
                    if (msisdn != null) {
                        ret.push({"msisdn":msisdn, "immatriculation":matricule});
                    }
                }
                else {
                    // how to get out of the loop here ?
                }
            }
        }
    }
});

在这种情况下如何摆脱eachRow方法?

回答如下:

您可以按顺序逐行阅读

for(let i = 0; i < totalRow; i++){

    result = getRow(i)  //you can do this with an asynchronous call      

    if (result == condition) {
        break;
    }
}
11136

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论