Laravel 開発: Laravel Excel を使用して Excel ファイルをインポートおよびエクスポートするにはどうすればよいですか?
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 つのパラメータを受け入れます:
- 最初のパラメータ users はエクスポートされたデータになります。 toExcel() メソッドを使用して UsersExport 補助クラスを作成することにより、データ エクスポートを実装します。
- 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 で、Excel ファイルをデータベースにインポートするクラスです。
- 2 番目のパラメータは、インポートするデータを含む、インポートする Excel ファイルです。
ここで、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 サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









1. SUM 関数は、列またはセルのグループ内の数値を合計するために使用されます (例: =SUM(A1:J10))。 2. AVERAGE 関数は、列またはセルのグループ内の数値の平均を計算するために使用されます (例: =AVERAGE(A1:A10))。 3. COUNT 関数。列またはセルのグループ内の数値またはテキストの数をカウントするために使用されます。例: =COUNT(A1:A10)。 4. IF 関数。指定された条件に基づいて論理的な判断を行い、結果を返すために使用されます。対応する結果。

Laravel 9 と CodeIgniter 4 の最新バージョンでは、更新された機能と改善が提供されます。 Laravel9はMVCアーキテクチャを採用しており、データベース移行、認証、テンプレートエンジンなどの機能を提供します。 CodeIgniter4 は、HMVC アーキテクチャを使用してルーティング、ORM、およびキャッシュを提供します。パフォーマンスの面では、Laravel9 のサービスプロバイダーベースの設計パターンと CodeIgniter4 の軽量フレームワークにより、優れたパフォーマンスが得られます。実際のアプリケーションでは、Laravel9 は柔軟性と強力な機能を必要とする複雑なプロジェクトに適しており、CodeIgniter4 は迅速な開発や小規模なアプリケーションに適しています。

Laravel - アーティザン コマンド - Laravel 5.7 には、新しいコマンドを処理およびテストするための新しい方法が付属しています。これには職人コマンドをテストする新しい機能が含まれており、そのデモについては以下で説明します。

Laravel と CodeIgniter のデータ処理機能を比較します。 ORM: Laravel はクラスとオブジェクトのリレーショナル マッピングを提供する EloquentORM を使用しますが、CodeIgniter は ActiveRecord を使用してデータベース モデルを PHP クラスのサブクラスとして表します。クエリビルダー: Laravel には柔軟なチェーンクエリ API がありますが、CodeIgniter のクエリビルダーはよりシンプルで配列ベースです。データ検証: Laravel はカスタム検証ルールをサポートする Validator クラスを提供しますが、CodeIgniter には組み込みの検証関数が少なく、カスタム ルールの手動コーディングが必要です。実践例:ユーザー登録例はLarを示しています

大規模プロジェクト用のフレームワークを選択する場合、Laravel と CodeIgniter にはそれぞれ独自の利点があります。 Laravel はエンタープライズレベルのアプリケーション向けに設計されており、モジュール設計、依存関係の注入、強力な機能セットを提供します。 CodeIgniter は、速度と使いやすさを重視した、小規模から中規模のプロジェクトに適した軽量フレームワークです。複雑な要件と多数のユーザーを伴う大規模なプロジェクトには、Laravel のパワーとスケーラビリティがより適しています。単純なプロジェクトやリソースが限られている状況では、CodeIgniter の軽量で迅速な開発機能がより理想的です。

初心者にとって、CodeIgniter は学習曲線が緩やかで機能は少ないですが、基本的なニーズはカバーしています。 Laravel は幅広い機能セットを提供しますが、学習曲線はわずかに急になります。パフォーマンスの点では、Laravel と CodeIgniter はどちらも良好なパフォーマンスを示します。 Laravel にはより広範なドキュメントとアクティブなコミュニティ サポートがあり、CodeIgniter はよりシンプルで軽量で、強力なセキュリティ機能を備えています。ブログアプリケーションを構築する実際のケースでは、Laravel の EloquentORM を使用するとデータ操作が簡素化されますが、CodeIgniter ではより手動の構成が必要になります。

マイクロサービス アーキテクチャは、PHP フレームワーク (Symfony や Laravel など) を使用してマイクロサービスを実装し、RESTful 原則と標準データ形式に従って API を設計します。マイクロサービスはメッセージ キュー、HTTP リクエスト、または gRPC を介して通信し、監視とトラブルシューティングに Prometheus や ELKStack などのツールを使用します。

小規模なプロジェクトの場合、Laravel は強力な機能とセキュリティを必要とする大規模なプロジェクトに適しています。 CodeIgniter は、軽量さと使いやすさを必要とする非常に小規模なプロジェクトに適しています。
