0

I am trying to create REST API services reading data from Excel. But I can not use the include or indexOf property of Array Filter that is holding data from excel. It shows TypeError: Cannot read property 'includes' of null. I have tried using promise but did not work. Please help me.

var express = require('express');
var http = require('http');
var app = express();

function DeliveryData(Carrier, REF, PRO, ETA, DEL, NAME) {
    this.Carrier = Carrier;
    this.REF = REF;
    this.PRO = PRO;
    this.ETA = ETA;
    this.DEL = DEL;
    this.NAME = NAME;
};

var Excel = require('exceljs');
var workbook = new Excel.Workbook();
var DeliveryRowData = [];

workbook.xlsx.readFile('DeliveryData.xlsx').then(function () {
    var worksheet = workbook.getWorksheet('DeliveryData');
    worksheet.eachRow({
        includeEmpty: false
    }, function (row, rowNumber) {
        DeliveryRowData.push(new DeliveryData(
            worksheet.getRow(rowNumber).getCell(1).value,
            worksheet.getRow(rowNumber).getCell(2).value,
            worksheet.getRow(rowNumber).getCell(3).value,
            worksheet.getRow(rowNumber).getCell(4).value,
            worksheet.getRow(rowNumber).getCell(5).value,
            worksheet.getRow(rowNumber).getCell(6).value
        ));
    });
});

app.get('/dlv/:id', (req, res) => {
    var aaa = [];
    var output = '';
    console.log(req.params.id);
    var results = JSON.parse(req.params.id);
    results.forEach(element => {
       output = DeliveryRowData.filter(item => item.REF.includes(element));
        aaa.push(output);
        console.log(output);
        console.log(element);
    });
    res.json(aaa);
});

var server = http.createServer(app);
var port = process.env.PORT || 989;
server.listen(port);

0 Answers0