代码之家  ›  专栏  ›  技术社区  ›  newbieeee

剑道网格导出日期格式不正确

  •  2
  • newbieeee  · 技术社区  · 9 年前

    这个Warranty\u Start\u日期在我的表列中可以为空,下面是网格列的模板。

        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

    1 回复  |  直到 9 年前
        1
  •  2
  •   newbieeee    9 年前

    好的,解决方法就是将这个字段类型设置为“日期”。疯子 enter image description here

    推荐文章