Laravel 開発: Laravel Excel を使用して Excel のインポートとエクスポートを実装するにはどうすればよいですか?
開発では、データのインポートやエクスポートなどのデータ処理に Excel テーブルがよく使用されます。 Laravel Excel は、Excel ファイルの読み取り、書き込み、エクスポート操作など、Excel ファイルを簡単に処理できるようにするシンプルで強力な Laravel 拡張機能です。この記事では、Laravel Excelを使用してExcelのインポートとエクスポートを実装する方法を紹介します。
- Laravel Excel のインストール
Laravel プロジェクトで Laravel Excel を使用するのは非常に簡単で、laravel-excel パッケージの依存関係をcomposer.json に追加するだけです。ファイル。コマンドラインで次のコマンドを実行します。
composer require maatwebsite/excel
- Laravel Excel の設定
Laravel Excel をインストールした後、それを使用するためにいくつかの設定を行う必要があります。まず、config/app.php ファイルに次のコードを追加します。
'providers' => [ // ... MaatwebsiteExcelExcelServiceProvider::class, ], 'aliases' => [ // ... 'Excel' => MaatwebsiteExcelFacadesExcel::class, ],
次に、Laravel Excel 構成ファイルを公開し、次のコマンドを実行する必要があります。
php artisan vendor:publish --provider="MaatwebsiteExcelExcelServiceProvider" --tag=config
これは生成されます。 config ディレクトリの Excel.php ファイル。エクスポート ファイルの形式、デフォルトのエクスポート ファイル名など、このファイルでいくつかの構成を行うことができます。
- Excelファイルエクスポート
次に、Laravel Excelを使ってExcelファイルをエクスポートする方法を紹介します。
3.1 エクスポート クラスの作成
まず、エクスポート データの形式とコンテンツを定義するエクスポート クラスを作成する必要があります。コマンド ラインで次のコマンドを実行します。
php artisan make:export UsersExport --model=User
これにより、app/Exports ディレクトリに UsersExport クラスが生成されます。このクラスで、エクスポートされた Excel ファイルのデータ形式とコンテンツを定義できます。たとえば、ユーザー テーブルのデータをエクスポートする場合、このクラスで次のコンテンツを定義できます。
namespace AppExports; use AppModelsUser; use MaatwebsiteExcelConcernsFromCollection; class UsersExport implements FromCollection { public function collection() { return User::all(); } }
上記のコードでは、FromCollection インターフェイスを通じて、エクスポートされるデータのソースを指定します。 User モデル内のすべてのユーザー データです。
FromCollection インターフェースに加えて、Laravel Excel は FromQuery や FromView などの他のインターフェースも提供します。実際のニーズに応じて対応するインターフェースを選択できます。
3.2 エクスポート クラスを使用して Excel ファイルをエクスポートする
エクスポート クラスを定義した後、次のコードを通じてエクスポート クラスを呼び出して、データを Excel ファイルにエクスポートできます:
use AppExportsUsersExport; use MaatwebsiteExcelFacadesExcel; public function export() { return Excel::download(new UsersExport, 'users.xlsx'); }
上記のコードでは、Excel::download() メソッドを使用して Excel ファイルを出力します。最初のパラメーターは作成したばかりのエクスポート クラス オブジェクト、2 番目のパラメーターは Excel ファイルの名前です。
- Excelファイルインポート
次に、Laravel Excelを使ってExcelファイルをインポートする方法を紹介します。
4.1 インポート クラスの作成
まず、インポートされるデータの形式と内容を定義するインポート クラスを作成する必要があります。コマンド ラインで次のコマンドを実行します。
php artisan make:import UsersImport --model=User
これにより、app/Imports ディレクトリに UsersImport クラスが生成され、インポートされた Excel ファイルのデータ形式とコンテンツを定義できます。たとえば、User テーブルからデータをインポートする場合は、このクラスで次のコンテンツを定義できます。
namespace AppImports; use AppModelsUser; use MaatwebsiteExcelConcernsToModel; use MaatwebsiteExcelConcernsWithHeadingRow; class UsersImport implements ToModel, WithHeadingRow { public function model(array $row) { return new User([ 'name' => $row['name'], 'email' => $row['email'], 'password' => Hash::make($row['password']), ]); } }
上記のコードでは、Excel ファイルのデータの各行を Excel ファイルのプロパティにマップします。テーブルの ToModel インターフェイスを使用して User モデルを指定し、WithHeadingRow インターフェイスを使用して Excel ファイルの最初の行をヘッダー (つまり、属性名) として指定します。
ToModel インターフェイスと WithHeadingRow インターフェイスに加えて、Laravel Excel は ToCollection や ToModel などの他のインターフェイスも提供します。実際のニーズに応じて対応するインターフェイスを選択できます。
4.2 インポート クラスを使用して Excel ファイルをインポートする
インポート クラスを定義した後、次のコードを通じてインポート クラスを呼び出して、Excel ファイルからデータベースにデータをインポートできます。
use AppImportsUsersImport; use MaatwebsiteExcelFacadesExcel; public function import() { Excel::import(new UsersImport, request()->file('file')); return redirect()->back(); }
上記のコードでは、Excel::import() メソッドを使用して Excel ファイルをインポートします。最初のパラメーターは作成したばかりのインポート クラス オブジェクト、2 番目のパラメーターはアップロードされた Excel ファイルです。
- 結論
Laravel Excel を使用すると、Excel ファイルのインポートおよびエクスポート機能を簡単に実装でき、データ処理プロセスが大幅に簡素化されます。実際のプロジェクト開発においては、Laravel Excelを利用することで開発効率が大幅に向上し、開発コストを削減できます。この記事がお役に立てば幸いです。
以上がLaravel 開発: Laravel Excel を使用して Excel のインポートとエクスポートを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于单点登录的相关问题,单点登录是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于Laravel的生命周期相关问题,Laravel 的生命周期从public\index.php开始,从public\index.php结束,希望对大家有帮助。

在laravel中,guard是一个用于用户认证的插件;guard的作用就是处理认证判断每一个请求,从数据库中读取数据和用户输入的对比,调用是否登录过或者允许通过的,并且Guard能非常灵活的构建一套自己的认证体系。

laravel中asset()方法的用法:1、用于引入静态文件,语法为“src="{{asset(‘需要引入的文件路径’)}}"”;2、用于给当前请求的scheme前端资源生成一个url,语法为“$url = asset('前端资源')”。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于使用中间件记录用户请求日志的相关问题,包括了创建中间件、注册中间件、记录用户访问等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于中间件的相关问题,包括了什么是中间件、自定义中间件等等,中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制,下面一起来看一下,希望对大家有帮助。

laravel路由文件在“routes”目录里。Laravel中所有的路由文件定义在routes目录下,它里面的内容会自动被框架加载;该目录下默认有四个路由文件用于给不同的入口使用:web.php、api.php、console.php等。

在laravel中,scope用于处理模型中的数据,在模型中可以定义scope开头方法,这类方法可以通过模型直接调用,被称为查询作用域,语法为“public function scope首字母大写单词($query){...}”。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ホットトピック



