【问题标题】:How to fix 'Invalid datetime format' when import excel to database?将excel导入数据库时​​如何修复“无效的日期时间格式”?
【发布时间】:2026-01-22 04:45:01
【问题描述】:

我正在使用 Maatwebsite Laravel excel 将我的 excel 导入数据库。 我的 excel 有一个日期格式列。当我导入时,除非值是日期格式,否则数据将输入。如何解决? 日期格式的列是“tanggal_bergabung”列。

我使用的是 Laravel 5.8,Maatwebsite 3.1。

<?php

namespace App\Imports;

use App\DatabaseCompany;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithHeadingRow;

class ImportDatabaseCompany implements ToModel,WithHeadingRow
{
/**
* @param array $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function model(array $row)
{
    return new DatabaseCompany([
        //
        'kode' => $row['kode'],
        'bentuk_perusahaan' => $row['bentuk_perusahaan'],
        'company_name' => $row['company_name'],
        'kontak_perusahaan' => $row['kontak_perusahaan'],
        'grade' => $row['grade'],
        'order' => $row['order'],
        'industri' => $row['industri'],
        'jalan' => $row['jalan'],
        'rt' => $row['rt'],
        'rw' => $row['rw'],
        'kelurahan' => $row['kelurahan'],
        'kecamatan' => $row['kecamatan'],
        'kabupaten_kota' => $row['kabupaten_kota'],
        'provinsi' => $row['provinsi'],
        'tanggal_bergabung' => $row['tanggal_bergabung'], //value is datetime
        'status' => $row['status'],
        'id_sales' => $row['id_sales'],
        'sales' => $row['sales'],
        'id_captain' => $row['id_captain']

    ]);
}
}

【问题讨论】:

    标签: mysql laravel import maatwebsite-excel


    【解决方案1】:

    您可以将其更改为 yyyy-mm-dd H:i:s 或在您的日期时间输入它

    \Carbon\Carbon::parse($row['tanggal_bergabung']))

    【讨论】:

    • 错误:异常 DateTime::__construct():无法在位置 4 (6) 解析时间字符串 (43606):意外字符
    • 你可以尝试使用 trim 看到这个thread 这个错误