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

新手上路,请多包涵

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

原文由 Reno Anthus 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 808
2 个回答

这些数字来自 excel 本身,日期作为数值存储在 excel 中。 http://www.cpearson.com/excel/datetime.htm

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

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

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

原文由 Qraxin 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

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

原文由 Reno Anthus 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏