Я использую laravel-excel для экспорта данных из моей базы данных на лист Excel. Столбцы, содержащие даты, не интерпретируются как даты в Excel, поэтому, когда я иду импортировать этот файл Excel с помощью laravel-excel, эти столбцы не анализируются и не форматируются правильно.
Примерная таблица:
table name: items
id | name | some_date
===========================
1 Boxes 2014-11-13 17:00:00
2 Pickles 2016-12-01 13:30:00
...
Мой код Laravel:
Excel::create('SomeTitle', function($excel) {
$items = Item::all()->toArray();
$excel->sheet('SheetName', function($sheet) use($items) {
$sheet->fromArray($items, null, 'A1', true);
});
})->export('xls');
Теперь в экспортированном файле Excel столбец C (который является «some_date») будет содержать дату типа 2014-11-13 17:00:00
, но Excel не распознает это как дату, поэтому, когда я импортирую плитку с помощью laravel-excel, она не будет автоматически преобразован в экземпляр Carbon.
Когда я использую $sheet->setColumnFormat(array('C' => 'yyyy-mm-dd'));
и снова импортирую файл Excel, laravel-excel теперь распознает и преобразует дату в экземпляр Carbon, но дата, время и дни будут полностью отключены!
Единственный способ, которым Excel распознает ячейки в столбце как даты, - это щелкнуть столбец, а затем щелкнуть. Затем Excel автоматически преобразует его в дату.
Как я могу обеспечить автоматическое преобразование столбца some_date
в дату при экспорте файла?