I am trying to append data to an excel via streams using exceljs but I am getting an error.
Can you please suggest how to handle the appending of data.
code
const dbClass = require(".././utils/dbPromises");
let client = await dbClass.createConnection();
let db = new dbClass(client);
res.setHeader("Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
res.setHeader("Content-disposition", `attachment;filename=report.xlsx`)
const options = {
filename: 'report.xlsx',
useStyles: true,
useSharedStrings: true,
stream: res
};
const workbook = new Excel.stream.xlsx.WorkbookWriter(options);
const worksheet = workbook.addWorksheet('report');
for (let i= 0; i< 5; i++) {
const statement = await db.preparePromisified(
`SELECT * FROM FUNCTION(i)) `
);
rs = await db.statementExecPromisified(statement, []);
let stream = Readable.from(rs);
stream.on('readable', () => {
let data;
while (null !== (data = stream.read())) {
worksheet.addRow(data);
}
});
stream.on('end', () => {
workbook.commit();
});
}