Développement Laravel : Comment utiliser Laravel Excel pour implémenter l'import et l'export Excel ?
En développement, les tableaux Excel sont souvent utilisés pour le traitement des données, comme l'importation et l'exportation de données. Laravel Excel est une extension Laravel simple et puissante qui nous permet de traiter facilement les fichiers Excel, y compris les opérations de lecture, d'écriture et d'exportation de fichiers Excel. Dans cet article, nous présenterons comment implémenter l'importation et l'exportation Excel à l'aide de Laravel Excel.
Utiliser Laravel Excel dans un projet Laravel est très simple, il suffit d'ajouter le package laravel-excel au composer.json fichier Dépendez-en simplement. Exécutez la commande suivante dans la ligne de commande :
composer require maatwebsite/excel
Après avoir installé Laravel Excel, nous devons effectuer une configuration pour utiliser il. Tout d'abord, ajoutez le code suivant au fichier config/app.php :
'providers' => [ // ... MaatwebsiteExcelExcelServiceProvider::class, ], 'aliases' => [ // ... 'Excel' => MaatwebsiteExcelFacadesExcel::class, ],
Ensuite, nous devons publier le fichier de configuration Laravel Excel et exécuter la commande suivante :
php artisan vendor:publish --provider="MaatwebsiteExcelExcelServiceProvider" --tag=config
Ce sera dans Un fichier excel.php est généré dans le répertoire de configuration Nous pouvons faire certaines configurations dans ce fichier, comme le format du fichier d'export, le nom du fichier d'export par défaut, etc.
Ensuite, nous présenterons comment utiliser Laravel Excel pour exporter des fichiers Excel.
3.1 Créer une classe d'exportation
Tout d'abord, nous devons créer une classe d'exportation pour définir le format et le contenu des données exportées. Exécutez la commande suivante dans la ligne de commande :
php artisan make:export UsersExport --model=User
Cela générera une classe UsersExport dans le répertoire app/Exports, dans laquelle le format des données et le contenu du fichier Excel exporté pourront être définis. Par exemple, si l'on souhaite exporter les données de la table user, on peut définir le contenu suivant dans cette classe :
namespace AppExports; use AppModelsUser; use MaatwebsiteExcelConcernsFromCollection; class UsersExport implements FromCollection { public function collection() { return User::all(); } }
Dans le code ci-dessus, on précise via l'interface FromCollection que la source du les données exportées se trouvent toutes dans les données utilisateur du modèle utilisateur.
En plus de l'interface FromCollection, Laravel Excel propose également d'autres interfaces, telles que FromQuery et FromView, etc. Vous pouvez choisir l'interface correspondante en fonction des besoins réels.
3.2 Utilisez la classe d'exportation pour exporter des fichiers Excel
Après avoir défini la classe d'exportation, nous pouvons appeler la classe d'exportation via le code suivant pour exporter les données vers le fichier Excel : #🎜🎜 #
use AppExportsUsersExport; use MaatwebsiteExcelFacadesExcel; public function export() { return Excel::download(new UsersExport, 'users.xlsx'); }
php artisan make:import UsersImport --model=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']), ]); } }
use AppImportsUsersImport; use MaatwebsiteExcelFacadesExcel; public function import() { Excel::import(new UsersImport, request()->file('file')); return redirect()->back(); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!