Working with the Core grid I noticed that the excel export autowidth is not working for date columns. Every other column is working but not dates. Here is my function for the export...
function gridReport_ExcelExport(e) { var sheet = e.workbook.sheets[0]; for (var rowIndex = 0; rowIndex < sheet.rows.length; rowIndex++) { var row = sheet.rows[rowIndex]; var expandRow = false; for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) { var cell = row.cells[cellIndex]; if (rowIndex > 0) cell.vAlign = "top"; if (cell.value && cell.value.toString().indexOf("<br />") >= 0) { cell.value = cell.value.replace("<br />", "\n"); cell.wrap = true; expandRow = true; } } if (rowIndex > 0) sheet.rows[rowIndex].height = 50; } for (var colIndex = 0; colIndex < sheet.columns.length; colIndex++) { var column = sheet.columns[colIndex]; delete column.width; column.autoWidth = true; }}
I found a kendo dojo and was able to duplicate the issue there also. (http://dojo.telerik.com/oGafisuF) I modified it as this...
<body> <div id="grid"></div> <script> var dt = new Date(); $("#grid").kendoGrid({ dataSource: [ { foo: "foo", bar: "bar", somedate: dt } ], toolbar:["excel"], columns: [ { field: "foo", width: "100px"}, { field: "bar", width: "200px"}, { field: "somedate", width: "100px", template: "#= kendo.toString(kendo.parseDate(somedate, 'yyyy-MM-dd'), 'MM/dd/yyyy') #"} ], excelExport: function(e) { var sheet = e.workbook.sheets[0]; for (var i = 0; i < sheet.columns.length; i++) { delete sheet.columns[i].width; sheet.columns[i].autoWidth = true; } } }); </script></body>