Maison cadre php Laravel Développement Laravel : Comment utiliser Laravel Excel pour implémenter l'import et l'export Excel ?

Développement Laravel : Comment utiliser Laravel Excel pour implémenter l'import et l'export Excel ?

Jun 13, 2023 pm 02:55 PM
laravel excel导入 excel导出

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.

  1. Installer 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
Copier après la connexion
  1. Configuring Laravel 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,
  ],
Copier après la connexion

Ensuite, nous devons publier le fichier de configuration Laravel Excel et exécuter la commande suivante :

php artisan vendor:publish --provider="MaatwebsiteExcelExcelServiceProvider" --tag=config
Copier après la connexion

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.

  1. Exportation de fichiers Excel

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
Copier après la connexion

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();
   }
}
Copier après la connexion

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');
}
Copier après la connexion

Dans le code ci-dessus, nous utilisons la méthode Excel::download() pour générer le fichier Excel, où le premier paramètre est l'objet de classe d'exportation qui vient d'être créé et le deuxième paramètre est le nom de le fichier Excel.

    Importation de fichiers Excel
Ensuite, nous présenterons comment utiliser Laravel Excel pour importer des fichiers Excel.

4.1 Créer une classe d'importation

Tout d'abord, nous devons créer une classe d'importation pour définir le format et le contenu des données importées. Exécutez la commande suivante dans la ligne de commande :

php artisan make:import UsersImport --model=User
Copier après la connexion

Cela générera une classe UsersImport dans le répertoire app/Imports, dans laquelle le format des données et le contenu du fichier Excel importé pourront être définis. Par exemple, si nous voulons importer des données de la table utilisateur, nous pouvons définir le contenu suivant dans cette classe :

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']),
        ]);
    }
}
Copier après la connexion

Dans le code ci-dessus, nous mappons chaque ligne de données du fichier Excel au Modélisez l'utilisateur via l'attribut d'interface ToModel et spécifiez la première ligne du fichier Excel comme en-tête (c'est-à-dire le nom de l'attribut) via l'interface WithHeadingRow.

En plus des interfaces ToModel et WithHeadingRow, Laravel Excel fournit également d'autres interfaces, telles que ToCollection et ToModel, etc. Vous pouvez choisir l'interface correspondante en fonction des besoins réels.

4.2 Utilisez la classe d'importation pour importer des fichiers Excel

Après avoir défini la classe d'importation, nous pouvons appeler la classe d'importation via le code suivant pour importer les données du fichier Excel dans le base de données :

use AppImportsUsersImport;
use MaatwebsiteExcelFacadesExcel;

public function import()
{
    Excel::import(new UsersImport, request()->file('file'));

    return redirect()->back();
}
Copier après la connexion
Dans le code ci-dessus, nous utilisons la méthode Excel::import() pour importer le fichier Excel, où le premier paramètre est l'objet de classe d'importation qui vient d'être créé et le deuxième paramètre est le fichier Excel téléchargé.

    Conclusion
Avec Laravel Excel, nous pouvons facilement implémenter les fonctions d'importation et d'exportation de fichiers Excel, simplifiant considérablement le processus de traitement des données. Dans le développement de projets réels, l'utilisation de Laravel Excel peut considérablement améliorer l'efficacité du développement et réduire les coûts de développement. J'espère que cet article vous sera utile.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment obtenir le code de retour lorsque l'envoi par e-mail échoue à Laravel? Comment obtenir le code de retour lorsque l'envoi par e-mail échoue à Laravel? Apr 01, 2025 pm 02:45 PM

Méthode pour obtenir le code de retour lorsque l'envoi par e-mail de Laravel échoue. Lorsque vous utilisez Laravel pour développer des applications, vous rencontrez souvent des situations où vous devez envoyer des codes de vérification. Et en réalité ...

La tâche de calendrier Laravel n'est pas exécutée: que dois-je faire si la tâche n'est pas en cours d'exécution après le calendrier: Exécuter la commande? La tâche de calendrier Laravel n'est pas exécutée: que dois-je faire si la tâche n'est pas en cours d'exécution après le calendrier: Exécuter la commande? Mar 31, 2025 pm 11:24 PM

Laravel Schedule Tâche d'exécution de dépannage non réactif Lorsque vous utilisez la planification des tâches de calendrier de Laravel, de nombreux développeurs rencontreront ce problème: Schedule: Exécuter ...

Dans Laravel, comment gérer la situation où les codes de vérification ne sont pas envoyés par e-mail? Dans Laravel, comment gérer la situation où les codes de vérification ne sont pas envoyés par e-mail? Mar 31, 2025 pm 11:48 PM

La méthode de traitement de l'échec de l'e-mail de Laravel à envoyer le code de vérification est d'utiliser Laravel ...

Comment implémenter la fonction de table personnalisée de clic pour ajouter des données dans l'administrateur DCAT? Comment implémenter la fonction de table personnalisée de clic pour ajouter des données dans l'administrateur DCAT? Apr 01, 2025 am 07:09 AM

Comment implémenter la fonction du tableau de Cliquez sur personnalisé pour ajouter des données dans DCATADMIN (Laravel-Admin) lors de l'utilisation de DCAT ...

Partage de connexion Laravel Redis: pourquoi la méthode de sélection affecte-t-elle d'autres connexions? Partage de connexion Laravel Redis: pourquoi la méthode de sélection affecte-t-elle d'autres connexions? Apr 01, 2025 am 07:45 AM

L'impact du partage des connexions redis dans Laravel Framework et sélectionnez Méthodes Lors de l'utilisation de Laravel Framework et Redis, les développeurs peuvent rencontrer un problème: grâce à la configuration ...

Laravel Multi-Lenant Extension Stancl / Tenancy: Comment personnaliser l'adresse hôte d'une connexion de base de données de locataire? Laravel Multi-Lenant Extension Stancl / Tenancy: Comment personnaliser l'adresse hôte d'une connexion de base de données de locataire? Apr 01, 2025 am 09:09 AM

Connexion de la base de données des locataires personnalisés dans le package d'extension multi-locataire Laravel Stancl / location Lors de la construction d'applications multi-locataires à l'aide du package d'extension multi-locataire Laravel Stancl / location, ...

Laravel Eloquent Orm dans Bangla Partial Model Search) Laravel Eloquent Orm dans Bangla Partial Model Search) Apr 08, 2025 pm 02:06 PM

Laravelelognent Model Retrieval: Faconttement l'obtention de données de base de données Eloquentorm fournit un moyen concis et facile à comprendre pour faire fonctionner la base de données. Cet article présentera en détail diverses techniques de recherche de modèles éloquentes pour vous aider à obtenir efficacement les données de la base de données. 1. Obtenez tous les enregistrements. Utilisez la méthode All () pour obtenir tous les enregistrements dans la table de base de données: usApp \ Modèles \ Post; $ poters = post :: all (); Cela rendra une collection. Vous pouvez accéder aux données à l'aide de Foreach Loop ou d'autres méthodes de collecte: ForEach ($ PostsAs $ POST) {echo $ post->

Géospatial de Laravel: optimisation des cartes interactives et de grandes quantités de données Géospatial de Laravel: optimisation des cartes interactives et de grandes quantités de données Apr 08, 2025 pm 12:24 PM

Traiter efficacement 7 millions d'enregistrements et créer des cartes interactives avec la technologie géospatiale. Cet article explore comment traiter efficacement plus de 7 millions d'enregistrements en utilisant Laravel et MySQL et les convertir en visualisations de cartes interactives. Exigences initiales du projet de défi: extraire des informations précieuses en utilisant 7 millions d'enregistrements dans la base de données MySQL. Beaucoup de gens considèrent d'abord les langages de programmation, mais ignorent la base de données elle-même: peut-il répondre aux besoins? La migration des données ou l'ajustement structurel est-il requis? MySQL peut-il résister à une charge de données aussi importante? Analyse préliminaire: les filtres et les propriétés clés doivent être identifiés. Après analyse, il a été constaté que seuls quelques attributs étaient liés à la solution. Nous avons vérifié la faisabilité du filtre et établi certaines restrictions pour optimiser la recherche. Recherche de cartes basée sur la ville

See all articles