2017-07-31 46 views
1

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

此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

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

+0

无关,与你的问题,但“YY-MM-DD HH:毫米: ss“将会产生一个12小时不明确的时间,而不是am/pm。请考虑”yy-MM-dd HH:mm:ss“。 – RobG

回答

0

那么好吧,该解决方案只设置此字段类型为“日”疯狂 enter image description here