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
>