Как предварительно отформатировать ячейку на сегодняшний день в Laravel Excel

Я использую пакет maatwebsite.com/excel для экспорта xls файлы из моего приложения. Я хочу предварительно отформатировать ячейку на сегодняшний день. Является ли это возможным?

Я отформатировал данные на сегодняшний день, но я хочу, чтобы ячейка была предварительно отформатирована с date (его формат ячейки по умолчанию general). Как я могу добиться этого в PHP или же Laravel 4?

3

Решение

Вы уже пробовали это?

$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

2

Другие решения

Форматирование столбца

Чтобы сообщить 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

1

Я использовал этот подход:

Чтобы прочитать данные:

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;
0