LaravelでExcelをインポートおよびエクスポートする方法

WBOY
リリース: 2023-05-20 20:42:35
オリジナル
4053 人が閲覧しました

Laravel は一般的に使用される PHP 開発フレームワークであり、迅速な開発と容易なメンテナンスの特徴を備えています。実際の開発では、データのインポートとエクスポート、具体的には Excel ファイルのインポートとエクスポートが発生することがよくあります。 Laravel はデータのインポートとエクスポートをどのように実装しますか?この記事では、Laravelを使用してExcelファイルをインポートおよびエクスポートする方法を紹介します。

1. Laravel Excel のインストール

Laravel Excel は、Excel ファイルのインポートとエクスポートを簡単に行うことができる PHPExcel のパッケージです。したがって、インポートとエクスポートを実装する前に、まず Laravel Excel をインストールする必要があります。

Composer を通じてインストールするには、次のコマンドを実行します:

composer require maatwebsite/excel
ログイン後にコピー

インストールが完了したら、次の内容をconfig/app.phpに追加する必要があります:

'providers' => [ // ... MaatwebsiteExcelExcelServiceProvider::class, ], 'aliases' => [ // ... 'Excel' => MaatwebsiteExcelFacadesExcel::class, ]
ログイン後にコピー

2. Excel ファイルのエクスポート

まず、Excel ファイルのエクスポート方法を見てみましょう。 Laravel Excel では、データベース データ モデルを定義する方法と同様に、Excel ファイルのエクスポートを定義する方法が提供されます。 Excel テンプレートを使用してエクスポートされた Excel ファイルの内容を定義し、データをテンプレートに入力できます。具体的な実装方法は以下のとおりです:

1. Excel ファイルのテンプレートを定義します

プロジェクトのルート ディレクトリで次のコマンドを実行します:

php artisan make:export UsersExport --model=User
ログイン後にコピー

このコマンドはapp/Exports ディレクトリに以下の UsersExport という名前のクラスを生成します。このクラスは FromModel インターフェイスを実装し、モデルから Excel ファイルにデータをエクスポートするために使用されます。

2. データを入力する

Excel ファイル テンプレートを定義した後、コードを使用してデータを入力する必要があります。コードは次のように実装されます:

namespace AppHttpControllers; use AppExportsUsersExport; use AppHttpControllersController; use MaatwebsiteExcelFacadesExcel; class UsersController extends Controller { public function export() { return Excel::download(new UsersExport, 'users.xlsx'); } }
ログイン後にコピー

3. Excel ファイルの生成

データの入力が完了したら、Excel ファイルを生成できます。エクスポート操作を実行するには、コードを次のように実装します。

Excel::download(new UsersExport, 'users.xlsx');
ログイン後にコピー

上記のコードは、users.xlsx という名前の Excel ファイルを生成します。

3. Excel ファイルのインポート

Excel ファイルのインポートは Excel ファイルのエクスポートと似ていますが、Excel ファイルのデータをデータベースにインポートするためのデータ モデルも必要です。具体的な実装方法は次のとおりです:

1. Excel ファイル テンプレートの定義

まず、データ入力を実装するために ContractsFromView インターフェイスを定義する必要があります。コードは次のように実装されます。

namespace AppImports; use IlluminateContractsViewView; use MaatwebsiteExcelConcernsFromView; class UsersImport implements FromView { private $users; public function __construct(array $users) { $this->users = $users; } public function view(): View { return view('exports.users', [ 'users' => $this->users ]); } }
ログイン後にコピー

実装では、インターフェイスの後、resources/views/exports ディレクトリに users.blade.php という名前のファイルを定義する必要があります。コードは次のとおりです:

 @foreach($users as $user)  @endforeach 
Name Email Gender
{{ $user['name'] }} {{ $user['email'] }} {{ $user['gender'] }}
ログイン後にコピー

このテンプレートはユーザー データを入力しますHTML テーブルに変換します。

2. Excel ファイルのインポート

データ モデルを定義した後、Laravel Excel の

Excel::import関数を使用してデータをデータベースにインポートできます。コードは次のとおりです。

namespace AppHttpControllers; use AppImportsUsersImport; use MaatwebsiteExcelFacadesExcel; class UsersController extends Controller { public function import() { $file = request()->file('file'); $users = Excel::toArray(new UsersImport, $file); // 可以在此处将 $users 插入数据库 } }
ログイン後にコピー
上記のコードでは、まず入力ボックスから Excel ファイルを選択し、次に Excel ファイルを取得して配列型に変換します。インポートされたデータの場合、$users を

// でデータベースに挿入できます。$users はデータベースに挿入できます。

4. 概要

Laravel Excel はデータベースのような操作を提供し、Excel ファイルのインポートとエクスポートを非常に簡単にします。 Laravel Excel は Eloquent モデルとシームレスに連携し、CSV、PDF、HTML などの他のファイル形式もサポートします。上記の方法に従って Laravel Excel をインストールし、Laravel でデータをインポートおよびエクスポートするための適切なモデルを定義するだけです。

以上がLaravelでExcelをインポートおよびエクスポートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!