剑道网格导出date格式不正确

当我尝试从Kendo网格中导出excel时,date格式不正确。

此Warranty_Start_Date在我的表格列中可以为空,下面是网格列的模板。

customColumns.push({ title: customHeaders[i], field: headers[i], width: 150, template: "#= " + headers[i] + " ? kendo.toString(kendo.parseDate(" + headers[i] + "), 'dd/MM/yyyy') : 'N/A' #", }); 

对于网格,我启用Excel导出function,并尝试自定义某些列的格式:

  var grid = $("#gridHardwares").kendoGrid({ excel: { fileName: "excelfile.xlsx", allPages: true, filterable:true }, excelExport: function(e) { var sheet = e.workbook.sheets[0]; for (var rowIndex = 1; rowIndex < sheet.rows.length; rowIndex++) { var row = sheet.rows[rowIndex]; for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex ++) { if (cellIndex >= 9 && cellIndex <= 11) { row.cells[cellIndex].format = "yy-MM-dd hh:mm:ss"; } if (cellIndex >= 13) row.cells[cellIndex].format = "0.00"; } } }, 

我不明白,因为这两个小数位格式工作正常,但date格式不是。 excel: date中的导出结果不是可读的格式

我也试过这个方法,它保留列模板,但我打错了“replace未定义”

  excelExport: function(e) { var sheet = e.workbook.sheets[0]; var template = kendo.template(this.columns[13].template); for (var rowIndex = 1; rowIndex < sheet.rows.length; rowIndex++) { var row = sheet.rows[rowIndex]; for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex ++) { if (cellIndex >= 9 && cellIndex <= 11) { var dataItem = { Warranty_Start_Date: row.cells[13].value }; row.cells[13].value = template(dataItem); row.cells[cellIndex].format = "yy-MM-dd hh:mm:ss"; } if (cellIndex >= 13) row.cells[cellIndex].format = "0.00"; } } }, 

导出时出错

也许这个模板方法不适合我的情况,我不知道。 但是,有没有其他方法来将此datestring/date(1382544000000)/转换为适当的“dd-MM-yyyy”格式? 需要帮助坏:(

没问题,解决scheme只是将此字段types设置为“date”。 疯。 在这里输入图像说明

Interesting Posts