我正在使用laravel-excel将数据库中的数据导出到 Excel 工作表。包含日期的列在 Excel 中不会被解释为日期,因此当我使用 laravel-excel 导入此 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
导出文件时该列自动转换为日期?