дата изменения экспорта kendoGrid - PullRequest
0 голосов
/ 03 июля 2018

У меня есть эта таблица, сделанная с помощью kendoUI. Когда пользователь экспортирует таблицу в Excel, все значения дат меняются, проблема появляется только в Chrome, Firefox работает нормально.

issue

Вы можете попробовать запуск по этой ссылке

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}];

1 Ответ

0 голосов
/ 04 июля 2018

Проблема, скорее всего, вызвана разницей во временных зонах. Часовой пояс браузера используется автоматически.
Попробуйте добавить HH:mm к формату даты в сетке, а также отобразить время в листе Excel и проверить разницу во времени.

Edit:
Если вас интересует только дата, а не время, вы можете установить для компонента часов дату 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));
});
...