Appsmith download issue.
unknown
javascript
a year ago
1.4 kB
13
Indexable
export default {
progress: 0,
running: false,
generateExcel: async () => {
this.progress = 0;
this.running = true;
// Initialise counting
this.progress = 0;
this.running = true;
// Create workbook
const wb = new exceljs.Workbook();
// All products
let all = await select_all_stock.run();
this.progress++; // 1
this.add_worksheet(wb, all, "All Products");
this.progress++; // 2
// Add cards
let cards = await select_all_cards.run();
this.progress++; // 3
this.add_worksheet(wb, cards, "Cards");
this.progress++; // 4
// Generate the file
const buffer = await wb.xlsx.writeBuffer();
this.progress++;
// Convert to base 64
const base64Data = buffer.toString('base64');
this.running = false;
// // Download
download(base64Data, "exported_data.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64");
},
add_worksheet(wb, data, title) {
try {
const ws = wb.addWorksheet(title);
// Ensure there is data to add
if (data.length > 0) {
// Set columns
ws.columns = Object.keys(data[0]).map(key => ({ header: key.toUpperCase().replace("_", " "), key: key }))
// Insert data
data.forEach(item => ws.addRow(item));
}
} catch (error) {
showAlert(`Error creating sheet ${title}: ${error.message}`)
}
}
}Editor is loading...
Leave a Comment