Я пытаюсь создать службы API REST для чтения данных из Excel. Но я не могу использовать include или indexOf свойство Array Filter , которое содержит данные из Excel. Он показывает TypeError: Невозможно прочитать свойство 'includes' со значением NULL . Я пытался использовать обещание, но не сработало. Пожалуйста, помогите мне.
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);