toExcel¶
webix.
toExcel
(id, options)¶webix.toExcel helper.
Please look into the linked official documentation.
External references¶
Code¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | webix.toExcel = function(id, options){
var defer = webix.promise.defer();
var view = webix.$$(id);
options = options || {};
if (view.$exportView)
view = view.$exportView(options);
webix.require(webix.cdn + "/extras/xlsx.core.min.js", function(){
options._export_mode = "excel";
var scheme = getExportScheme(view, options);
var result = getExportData(view, options, scheme);
var spans = options.spans ? getSpans(view, options) : [];
var data = getExcelData(result, scheme, spans);
var wb = { SheetNames:[], Sheets:[]};
var name = options.name || "Data";
name = name.replace(/[\*\?\:\[\]\\\/]/g,"").substring(0, 31);
wb.SheetNames.push(name);
wb.Sheets[name] = data;
var xls = XLSX.write(wb, {bookType:'xlsx', bookSST:false, type: 'binary'});
var filename = (options.filename || name)+".xlsx";
var blob = new Blob([str2array(xls)], { type: "application/xlsx" });
webix.html.download(blob, filename);
defer.resolve();
});
return defer;
};
|