Я использую пакет maatwebsite.com/excel для экспорта xls
файлы из моего приложения. Я хочу предварительно отформатировать ячейку на сегодняшний день. Является ли это возможным?
Я отформатировал данные на сегодняшний день, но я хочу, чтобы ячейка была предварительно отформатирована с date
(его формат ячейки по умолчанию general
). Как я могу добиться этого в PHP
или же Laravel 4
?
Вы уже пробовали это?
$sheet->setColumnFormat(array(
'A' => 'yyyy-mm-dd'
));
Из документации: http://www.maatwebsite.nl/laravel-excel/docs/export#format
Различные форматы даты доступны здесь: http://www.maatwebsite.nl/laravel-excel/docs/reference-guide#formatting
Форматирование столбца
Чтобы сообщить Excel, как он должен интерпретировать определенные столбцы, вы можете использовать -> setColumnFormat ($ array).
Column formatting
To tell Excel how it should interpret certain columns, you can use ->setColumnFormat($array).// Format column as percentage
$sheet->setColumnFormat(array(
'C' => '0%'
));
// Format a range with e.g. leading zeros
$sheet->setColumnFormat(array(
'A2:K2' => '0000'
));
// Set multiple column formats
$sheet->setColumnFormat(array(
'B' => '0',
'D' => '0.00',
'F' => '@',
'F' => 'yyyy-mm-dd',
));
Ref:
http://www.maatwebsite.nl/laravel-excel/docs/reference-guide#sheet-properties
Я использовал этот подход:
Чтобы прочитать данные:
Date::dateTimeToExcel($data->created_at),
Для форматирования:
$sheet->setColumnFormat(array(
'P2:P'.$rows => 'dd/mm/yyyy',
));
Источник: https://laravel-excel.maatwebsite.nl/3.1/exports/column-formatting.html#formatting-columns
Я добавил это использование:
use PhpOffice\PhpSpreadsheet\Shared\Date;