Laravel Excel 正在将日期从标题转换为一些数字
Laravel Excel is converting dates from heading into some numbers
我有一个与 Laravel Excel 有关的问题。我的标题充满了日期,例如:2018-05-23。但是当我使用 excel 扩展阅读它时:
$data = Excel::load($request['file'], function($reader) {})->get();
该扩展没有将标题日期视为日期。相反,它将日期转换为一些数字 - 例如:43243
.
这里是 sheet 的 dd
:
重要说明:当日期在正常行中(不在标题中)时,日期转换良好。
版本 Laravel Excel (maatwebsite/excel) - 2.1.0
Laravel 的版本 - 5.5
我想是因为 ExcelParser。它将日期 header 字段转换为一些随机数。
为了满足您的要求,请在双引号内添加 header 列。
示例:“2018-05-23”
数字来自 excel 本身,日期存储在 excel 中作为数值。
http://www.cpearson.com/excel/datetime.htm
对于Laravel框架5.6和
maatwebsite/excel 包版本 3.1,将日期从 excel 数字转换为正常日期格式,此功能 PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($dateFromExcel)
可以使用。它接受整数(excel 日期)和 returns DateTime 对象。
可以在此处找到更多信息https://github.com/Maatwebsite/Laravel-Excel/issues/1832
maatwebsite package insert ' 在日期之前。
为了解决这个问题
class yourExport implements , WithMapping, WithCustomCsvSettings, WithColumnFormatting
{
.....
public function map($map): array
{
return [
Date::dateTimeToExcel($map->created_at),
...
];
}
public function columnFormats(): array
{
return [
'A' => NumberFormat::FORMAT_DATE_DDMMYYYY
];
}
}
其中 A 是日期所在的 excel 列
我有一个与 Laravel Excel 有关的问题。我的标题充满了日期,例如:2018-05-23。但是当我使用 excel 扩展阅读它时:
$data = Excel::load($request['file'], function($reader) {})->get();
该扩展没有将标题日期视为日期。相反,它将日期转换为一些数字 - 例如:43243
.
这里是 sheet 的 dd
:
重要说明:当日期在正常行中(不在标题中)时,日期转换良好。
版本 Laravel Excel (maatwebsite/excel) - 2.1.0
Laravel 的版本 - 5.5
我想是因为 ExcelParser。它将日期 header 字段转换为一些随机数。
为了满足您的要求,请在双引号内添加 header 列。
示例:“2018-05-23”
数字来自 excel 本身,日期存储在 excel 中作为数值。 http://www.cpearson.com/excel/datetime.htm
对于Laravel框架5.6和
maatwebsite/excel 包版本 3.1,将日期从 excel 数字转换为正常日期格式,此功能 PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($dateFromExcel)
可以使用。它接受整数(excel 日期)和 returns DateTime 对象。
可以在此处找到更多信息https://github.com/Maatwebsite/Laravel-Excel/issues/1832
maatwebsite package insert ' 在日期之前。 为了解决这个问题
class yourExport implements , WithMapping, WithCustomCsvSettings, WithColumnFormatting
{
.....
public function map($map): array
{
return [
Date::dateTimeToExcel($map->created_at),
...
];
}
public function columnFormats(): array
{
return [
'A' => NumberFormat::FORMAT_DATE_DDMMYYYY
];
}
}
其中 A 是日期所在的 excel 列