导出kendoGrid上的日期更改

我有这个用kendoUI制作的表,当用户将表导出到excel时,所有日期值都会改变,问题只出现在chrome中,firefox工作正常。

问题

您可以在此链接上尝试runnable

var localData=[ {cliente:'COMERCIALIZACION',lote:1323,calidad:'PRIMERAS',fecha:'2017-07-07',sacos:10}, {cliente:'COMERCIALIZACION',lote:1324,calidad:'PRIMERAS',fecha:'2017-07-07',sacos:80},{cliente:'COMERCIALIZACION',lote:1325,calidad:'PRIMERAS',fecha:'2017-07-07',sacos:29}, {cliente:'COMERCIALIZACION',lote:1326,calidad:'PRIMERAS',fecha:'2017-07-07',sacos:5}]; 

问题很可能是由时区差异引起的。 浏览器的时区自动使用。
尝试将HH:mm添加到网格中日期的格式,并在Excel工作表中显示时间并检查时差。

编辑:
如果您只对日期而不是时间感兴趣,可以将日期的小时部分设置为12,即使差异为几个小时,日期也将保持不变。

您可以使用以下代码执行此操作:

 excelExport: (e) => { console.log("Excel export", e.workbook); e.workbook.sheets[0].rows.filter((row) => row.type === "data").forEach((row, index) => { row.cells[2].value.setHours(12); }); console.log("Excel export", e.workbook); } 

如果您想使用更通用的方法而不是具有日期的列的索引,您可以这样做:

 e.workbook.sheets[0].rows.filter((row) => row.type === "data").forEach((row, index) => { row.cells.filter((cell) => cell.value instanceof Date).forEach((cell) => cell.value.setHours(12)); });