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の教科書・無料プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

Laravel8版と、最新のLaravel9版、ふたつのテキストご用意してます♪

【無料プレゼント】

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

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

詳細はこちらをクリック

Laravel8版と、最新のLaravel9版、ふたつのテキストご用意してます♪

Laravel関連のご相談承ってます♪
「Webアプリを開発してほしい」
「社内にLaravelが分かる人がいない。コンサルしてほしい」
そんな企業様のご依頼承っています。
お問い合わせはこちら
Laravel関連のご相談承ってます♪
「Webアプリを開発してほしい」
「社内にLaravelが分かる人がいない。コンサルしてほしい」
そんな企業様のご依頼承っています。
お問い合わせはこちら
Twitter始めました。
40代からプログラミング!

コメント

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