Kendo网格导出日期格式不正确

时间:2017-07-31 02:29:25

标签: javascript c# excel date kendo-grid

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

此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导出功能并尝试自定义某列的格式:

            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";
                }
            }
        },

我不明白,因为这两个小数位格式工作正常,但日期格式不是。 excel中的导出结果: date is not in readable format

我也尝试了这个方法,它保留了列模板,但我点击了“替换未定义”的错误

            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";
                }
            }
        },

error occur when export

也许这个模板方法不适合我的情况,我不知道。但有没有其他方法将此日期字符串/日期(1382544000000)/转换为正确的“dd-MM-yyyy”格式?急需帮助:(

1 个答案:

答案 0 :(得分:1)

好的,解决方案就是将此字段类型设置为&#34; date&#34;。疯。 enter image description here