I have a problem which is connected with Laravel Excel. I have heading filled with dates for example: 2018-05-23. But when I read it with excel extension by using:
$data = Excel::load($request['file'], function($reader) {})->get();
The extension is not treating the heading dates as dates. Instead of that it converts the dates into some numbers - for example: 43243
.
Here is dd
of the sheet:
Important note: When the date is in a normal row (not in heading) then the date is converted well.
Version of Laravel Excel (maatwebsite/excel) - 2.1.0
Version of Laravel - 5.5
The numbers come from excel itself, dates stored in excel as numeric values. http://www.cpearson.com/excel/datetime.htm
For Laravel framework 5.6 and
maatwebsite/excel package version 3.1, to convert date from excel numbers to normal date format, this function PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($dateFromExcel)
can be used. It accepts integer(excel date) and returns DateTime object.
More information can be found here https://github.com/Maatwebsite/Laravel-Excel/issues/1832