TableExport
TableExport copied to clipboard
Exporting multiple sheets on XLS?
I have 2 tables on my site.
Is it possible to export 2 tables together into 1 xlsx files with 2 sheets?
var exportTable = $(".table-bordered"); var export_tables = new TableExport(exportTable, { formats: ['xlsx'], bootstrap: false, exportButtons: false }); var tables_data = export_tables.getExportData(); var export_data = []; var xlsx_info = {}; for (table_id in tables_data) { xlsx_info = tables_data[table_id]["xlsx"]; export_data.push(tables_data[table_id]["xlsx"].data); } var fileExtension = xlsx_info.fileExtension; var mimeType = xlsx_info.mimeType;
exportmultisheet(export_data,
mimeType,
"Informe Calidad Estados",
["Resumen", "Entregas", "Devolucion", "En Destino", "En Transito", "En Origen", "Cerradas"],
fileExtension,
{},
[], export_tables);
}
function exportmultisheet(data, mime, filename, sheetnames, extension, merges = {}, cols_width = {}, export_tables) { var sheet_data = null; var key = extension.substring(1);
// create workbook
var wb = new export_tables.Workbook();
// create sheet for each table in the same page, and add all sheets to workbook
for (var i = 0; i < data.length; i++) {
wb.SheetNames.push(export_tables.escapeHtml(sheetnames[i]));
var sheet_data = export_tables.createSheet(data[i], merges[sheetnames[i]] || [], cols_width[sheetnames[i]] || []);
wb.Sheets[sheetnames[i]] = sheet_data;
}
var bookType = export_tables.getBookType(key);
var wopts = {
bookType: bookType,
bookSST: false,
type: 'binary'
},
wbout = XLSX.write(wb, wopts);
sheet_data = export_tables.string2ArrayBuffer(wbout);
if (sheet_data) {
saveAs(new Blob([sheet_data],
{ type: mime + ';' + export_tables.charset }),
filename + extension, true);
}
}