Laravel excel maatwebsite 3.1 import,excel 单元格中的日期列返回为未知格式编号。如何解决这个问题?

2022-08-30 19:23:19

通过使用Maatwebsite/Laravel-Excel版本3.1导入excel工作表,在这里我遇到了excel工作表的发布日期时间列返回未知数字。如何解决这个问题?示例:考虑单元格值“29/07/1989”,并在导入时返回为“32178”。


答案 1

数字来自excel本身,即以数值形式存储在excel中的日期。http://www.cpearson.com/excel/datetime.htm

对于Laravel框架5.6和maatwebsite/excel软件包3.1版本,要将日期从excel数字转换为普通日期格式,可以使用此功能。它接受整数(excel date)并返回DateTime对象。PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($dateFromExcel)

更多信息可以在这里找到 https://github.com/Maatwebsite/Laravel-Excel/issues/1832

从这个答案:https://stackoverflow.com/a/55139981/9133724


答案 2

解决!这是我用来解决问题的代码:

Carbon\Carbon::instance(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($value));

推荐