TableExport icon indicating copy to clipboard operation
TableExport copied to clipboard

Exporting multiple sheets on XLS?

Open fariskas opened this issue 8 years ago • 1 comments

I have 2 tables on my site.

Is it possible to export 2 tables together into 1 xlsx files with 2 sheets?

fariskas avatar Nov 10 '17 13:11 fariskas

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);
}

}

danielrpp avatar Apr 22 '18 14:04 danielrpp