Проблема, скорее всего, вызвана разницей во временных зонах. Часовой пояс браузера используется автоматически.
Попробуйте добавить 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));
});