Laravel 開発: Laravel Excel を使用して Excel ファイルをインポートおよびエクスポートするにはどうすればよいですか?
インターネットの急速な発展に伴い、特に企業データ管理において、データ処理の重要性がますます高まっています。 Excel ファイルは、データを簡単に保存、編集、計算、分析できるため、企業オフィスにとって不可欠なツールの 1 つとなっています。 Laravel は広く使われている PHP フレームワークであり、Laravel Excel は Laravel 用に開発された Excel ファイル操作拡張パッケージであり、Excel ファイルのインポートとエクスポートを簡単に行うことができます。
この記事ではLaravel Excelの使い方を詳しく紹介します。この記事では、Laravel Excel をインストールし、Excel ファイルをインポートおよびエクスポートする方法を学びます。
1. Laravel Excel のインストール
ターミナルの Composer を介して Laravel Excel をインストールします
composer require maatwebsite/excel
Laravel バージョン 5.5 未満を使用している場合は、configure/app を行う必要があります。 php 次の 2 つのサービス プロバイダーがファイル内で構成されています:
MaatwebsiteExcelExcelServiceProvider::class,
'Excel' => MaatwebsiteExcelFacadesExcel::class,
Laravel バージョン 5.5 以降を使用している場合、サービス プロバイダーを手動で追加する必要はありません。これらのサービス プロバイダーは自動的に追加されます。構成に。
ターミナルで Artisan コマンドを使用して公開します:
php artisan vendor:publish --provider="MaatwebsiteExcelExcelServiceProvider"
これにより、次の構成ファイルとテンプレート ファイルが自動的に生成されます:
config/excel.php resources/views/vendor/excel
2. Laravel Excel を構成する
設定ファイルexcel.phpには、Laravel Excelのすべての設定オプションが含まれています。これらのオプションは、.env ファイルで直接定義することも、config/excel.php ファイルで構成することもできます。以下に、考えられるすべてのオプションについて詳しく説明します。
'default_driver' => 'local',
オプション「default_driver」は、使用するデフォルトのドライバーを指定します。ここには、local と ftp の 2 つのオプションがあります。
'cache' => [ 'enabled' => true, 'driver' => 'laravel', ],
オプション "cache" はキャッシュ オプションを指定します。キャッシュすると、特に大量のデータを処理する場合に速度が向上します。キャッシュが有効な場合は、「cache_driver」を「laravel」または「memcached」に設定します。
'temp_path' => sys_get_temp_dir(),
Options temp_path は、一時ファイルの保存に使用されるファイル システム パスを指定します。
'csv' => [ 'delimiter' => ',', 'enclosure' => '"', 'escape_character' => '\', 'input_encoding' => 'UTF-8', 'output_encoding' => 'UTF-8', 'use_bom' => false, ],
オプション「csv」を使用すると、CSV のインポートおよびエクスポートのオプションを構成できます。これには主に次のオプションが含まれます:
delimiter: カンマ、セミコロン、タブなどの区切り文字。
enclosure: 列の囲み記号。
escape_character: エスケープ文字。
input_encoding: 入力エンコーディング。
output_encoding: 出力エンコーディング。
use_bom: Bom バイトオーダーを使用するかどうか。
'exports' => [ 'force_resave' => false, 'ignore_empty' => false, 'pre_calculate_formulas' => false, 'maximum_recursion' => 50, ],
オプション「exports」を使用すると、主に次のオプションを含むエクスポート オプションを構成できます:
force_resave: 強制的に保存するかどうか。
ignore_empty: 空のセルを無視するかどうか。
pre_calculate_formulas: 数式を事前計算するかどうか。
maximum_recursion: 再帰の最大レベル数。
3. Excel ファイルのエクスポート
Laravel Excel は、Excel ファイルのエクスポートを適切にサポートします。次に、Laravel Excel を使用してデータをエクスポートする方法を説明します。
まず、コントローラー ファイルを開き、新しい Excel ファイルを作成してデータをエクスポートします。
<?php namespace AppHttpControllers; use MaatwebsiteExcelFacadesExcel; use AppExportsUsersExport; class ExportController extends Controller { public function export() { return Excel::download(new UsersExport, 'users.xlsx'); } }
上記のコントローラー メソッドでは、Excel::download() メソッドを使用して Excel ファイルを作成します。ファイル。このメソッドは 2 つのパラメータを受け入れます:
UsersExport ファイルの内容は次のとおりです。
<?php namespace AppExports; use MaatwebsiteExcelConcernsFromCollection; use AppUser; class UsersExport implements FromCollection { public function collection() { return User::select('id', 'name', 'email')->get(); } }
このクラスは、MaatwebsiteExcelConcernsFromCollection インターフェイスを実装する必要があります。 FromCollection がコレクション クラスを返し、get() メソッドがクラスに格納されているすべてのユーザーを返すことがわかります。
これでLaravel Excelのエクスポート操作は完了しました。
4. Excel ファイルのインポート
Laravel Excel は、Excel ファイルのインポート操作に対する非常に優れたサポートも提供します。次に、Laravel Excel を使用して Excel ファイルからデータをインポートする方法を説明します。
まず、コントローラー ファイルを開いて、Excel ファイルのデータをデータベースにインポートします。
<?php namespace AppHttpControllers; use IlluminateHttpRequest; use AppImportsUsersImport; class ImportController extends Controller { public function import(Request $request) { $file = $request->file('file'); Excel::import(new UsersImport, $file); return redirect('/')->with('success', 'Excel 数据已成功导入!'); } }
上記のコントローラー メソッドでは、Excel::import() メソッドを使用して、エクセルファイル。このメソッドは 2 つのパラメータを受け入れます。
ここで、UsersImport クラスを見てみましょう:
<?php namespace AppImports; use MaatwebsiteExcelConcernsToModel; use AppUser; class UsersImport implements ToModel { public function model(array $row) { return new User([ 'name' => $row[0], 'email' => $row[1], 'password' => bcrypt($row[2]) ]); } }
ご覧のとおり、このクラスは、model() メソッドを定義する MaatwebsiteExcelConcernsToModel インターフェイスを実装する必要があります。このメソッドは、新しいユーザーの属性を決定するために使用されます。
model() メソッドでは、配列のデータ行情報を使用してユーザーの属性を保存します。ここでは、Excel ファイルの 1 行目がユーザー名、2 行目が電子メール アドレス、3 行目がパスワードであると仮定します。
これは、Laravel Excel を使用して Excel ファイルをインポートおよびエクスポートする方法です。 Laravel Excel の基本的な使い方と高度な機能については理解できたと思います。この記事があなたのLaravel学習に役立つことを願っています。
以上がLaravel 開発: Laravel Excel を使用して Excel ファイルをインポートおよびエクスポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。