Kendo Excel excport

PHOTO EMBED

Fri Jul 08 2022 14:50:38 GMT+0000 (Coordinated Universal Time)

Saved by @necamat

var columns = e.workbook.sheets[0].columns;
var data = e.data;
var gridColumns = e.sender.columns;
var sheet = e.workbook.sheets[0];
var visibleGridColumns = [];
var columnTemplates = [];
var dataItem;
// Create element to generate templates in.
var elem = document.createElement('div');

columns.forEach(function (column) {
    delete column.width;
    column.autoWidth = true;
    e.workbook.sheets[0].name = $("#services").data("kendoDropDownList").value();

});


for (var i = 0; i < gridColumns.length; i++) {
    visibleGridColumns.push(gridColumns[i]);
}

// Create a collection of the column templates, together with the current column index
for (var i = 0; i < visibleGridColumns.length; i++) {
  	  if (visibleGridColumns[i].template) {
        columnTemplates.push({ cellIndex: i, template: 		kendo.template(visibleGridColumns[i].template) });
                }
            }

 // Traverse all exported rows.
 for (var i = 1; i < sheet.rows.length; i++) {
 var row = sheet.rows[i];
 // Traverse the column templates and apply them for each row at the stored column position.

// Get the data item corresponding to the current row.
var dataItem = data[i - 1];
for (var j = 0; j < columnTemplates.length; j++) {
    var columnTemplate = columnTemplates[j];
    // Generate the template content for the current cell.
    elem.innerHTML = columnTemplate.template(dataItem);
    if (row.cells[columnTemplate.cellIndex] != undefined)
        // Output the text content of the templated cell into the exported cell.
        row.cells[columnTemplate.cellIndex].value = elem.textContent || elem.innerText || "";
                }
            }
content_copyCOPY