Вот мой файл Excel, который я сгенерировал, используя excel js. Мне нужно добавить вес для каждого grnNo и отобразить результат как итог в конце этого конкретного grnNo, Что-то вот так.
Вот мой код
var userss = inward.aggregate([{
$match: {
$and: [
{ "defaultAccountId": { "$gte": parseInt(userParam.defaultAccountId), "$lte": parseInt(userParam.defaultAccountId) } },
],
$or: [{ "createdDate": { "$gte": start, "$lte": end } }]
}
},
{
$unwind: "$fabricArray"
},
{
$project: {
grnNo: "$grnNo",
grnDate: "$grnDate",
party: "$party",
orderNo: "$orderNo",
lotNo: "$lotNo",
buyer: "$buyer",
vehicleNo: "$vehicleNo",
dyeingName: "$dyeingName",
dyeingDcNo: "$dyeingDcNo",
partyDcNo: "$partyDcNo",
weight: "$weight",
fabricName: "$fabricArray.fabricName",
fabricColor: "$fabricArray.color",
fabricDia: "$fabricArray.dia",
fabricRolls: "$fabricArray.rolls",
fabricTotalKgs: "$fabricArray.totalKgs",
fabricRemarks: "$fabricArray.remarks",
color: "$color",
fabricCondition: "$fabricCondition",
partyDcRolls: "$partyDcRolls"
}
}
], function(err, result) {
if (err) {
console.log(err);
return;
}
var workbook = new Excel.Workbook();
var worksheet = workbook.addWorksheet('Inwards')
worksheet.columns = [
{ key: "grnNo", header: "GRN_No" },
{ key: "grnDate", header: "Date" },
{ key: "party", header: "Party" },
{ key: "orderNo", header: "OrderNo" },
{ key: "lotNo", header: "LotNo" },
{ key: "buyer", header: "Buyer" },
{ key: "vehicleNo", header: "VehicleNo" },
{ key: "dyeingName", header: "dyeingName" },
{ key: "dyeingDcNo", header: "DyeingDcNo" },
{ key: "partyDcNo", header: "PartyDcNo" },
{ key: "color", header: "Color" },
{ key: "fabricCondition", header: "Fabric_Condition" },
{ key: "partyDcRolls", header: "PartyDcRolls" },
{ key: "weight", header: "Weight" },
{ key: "fabricName", header: "Fabric_Name" },
{ key: "fabricColor", header: "Fabric_Color" },
{ key: "fabricDia", header: "Fabric_Dia" },
{ key: "fabricRolls", header: "Fabric_Rolls" },
{ key: "fabricTotalKgs", header: "Total_Kgs" },
{ key: "fabricRemarks", header: "Remarks" },
]
worksheet.getCell('A1').font = {
bold: true
};
worksheet.getCell('B1').font = {
bold: true
};
worksheet.getCell('C1').font = {
bold: true
};
worksheet.getCell('D1').font = {
bold: true
};
worksheet.getCell('E1').font = {
bold: true
};
worksheet.getCell('F1').font = {
bold: true
};
worksheet.getCell('G1').font = {
bold: true
};
worksheet.getCell('H1').font = {
bold: true
};
worksheet.getCell('I1').font = {
bold: true
};
worksheet.getCell('J1').font = {
bold: true
};
worksheet.getCell('K1').font = {
bold: true
};
worksheet.getCell('L1').font = {
bold: true
};
worksheet.getCell('M1').font = {
bold: true
};
worksheet.getCell('N1').font = {
bold: true
};
worksheet.getCell('O1').font = {
bold: true
};
worksheet.getCell('P1').font = {
bold: true
};
worksheet.getCell('Q1').font = {
bold: true
};
worksheet.getCell('R1').font = {
bold: true
};
worksheet.getCell('S1').font = {
bold: true
};
worksheet.getCell('T1').font = {
bold: true
};
worksheet.getCell('U1').value = { formula: 'N2+N5', result: undefined };
result.forEach(function(row, rows) {
worksheet.addRow(row);
})
workbook.xlsx.writeFile(filePath)
.then(function() {
console.log("excel file created successfully");
});
}).allowDiskUse(true);
return await (userss)
}
Я новичок, есть идеи, как это сделать ?. Я не знаю, рассчитывать ли мои ожидаемые итоговые значения при извлечении данных из базы данных, или есть какая-либо функция, которая может выполнить эту задачу в Excel js. Заранее спасибо:)