Invalid datetime format: 1292 Incorrect date value: Laravel Excel日付インポートエラー対策

Laravelと連携:Excel・PDF・Google
スポンサーリンク

maatwebsiteを使って日付が入ったExcelをインポートする際、エラーになることがあります

エラーを解決するには、Carbonを使って、Excelの日時フォーマットを変更しましょう。

たとえば、次のようなエクセルファイルをインポートするとします。

日付部分は、セルの書式設定 で日付に変換してあります。

【インポートするエクセルファイル】

「販売日」のデータ型は、dateに設定してあります。

このような場合、このInvalid datetime formatエラーが発生します。

エラーを避けるには、次のように、インポートファイルの日付部分をCarbonを使って変更します。

【DangoImportファイルの設定】

なおコントローラーは、通常どおりの書き方です。

【DangoImportファイルのためのコントローラー】

インポートファイルでの書き方のポイントを解説していきます。

スポンサーリンク

Excel Invalid datetime formatエラー対策 ポイント解説

もしCarbonは日時を扱う際に便利なライブラリですが、もしまだインストールしていない場合には、最初にインストールをします。

Importファイルの先頭に、Carbonのuse宣言を加えます。

日付部分のカラムのインポートを指定する部分で、Carbonを使って、フォーマットを変更します。

これで、次のような形でインポートできます。

【インポート後のデータベーステーブル】

じゅんこ
じゅんこ

無事エラーが解決したら嬉しいです。

さいごに

なおmaatwebsiteを使ってExcelをインポートする方法・重複エラー対策・日付空欄時対策など、関連記事で色々と取り上げております。

Excelのインポートは、色々と思いがけないエラーが起こりますよね。

困ったときに、参考にしてみてください。

Laravelと連携:Excel・PDF・Google Laravel・PHP豆知識・トラブル対策

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中!
会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

【個別サポート実施中】

「本ブログに記載の方法を試してみたけれど、うまくいかない」「コードを見てほしい」という方のために、有償でメールサポートいたします。以下のボタンをクリックして相談フォームにアクセスして下さい。

詳しく見る

Twitter始めました。
スポンサーリンク
40代からプログラミング!

コメント

タイトルとURLをコピーしました