Boîte d'auteur


Discutez de votre projet

À propos de nous

Nous sommes un partenaire Microsoft Gold avec sa présence aux États-Unis et en Inde. Nous sommes un fournisseur de services informatiques dynamique et professionnel au service des entreprises et des startups, en les aidant à relever les défis de l'économie mondiale. Nous offrons des services dans le domaine de la consultation et de la mise en œuvre CRM, du développement d'applications, du développement d'applications mobiles, du développement Web et du développement offshore.

laravel 8 importer un fichier excel vers une base de données

Laravel 8 - Tutoriel Excel et CSV Import Export vers la base de données

By Pooja Sharma / 4 février 2022

28 juillet 2022
Laravel 8 - Tutoriel Excel et CSV Import Export vers la base de données

La plupart du temps, vous travaillez sur n'importe quelle application de commerce électronique ou tout type d'ERP, vous devez importer-exporter des fichiers Excel pour les données. Il s'agit d'une fonctionnalité très courante dans n'importe quel application web. Si pour n'importe quelle application de commerce électronique, vous souhaitez ajouter des produits en vrac en même temps, la saisie manuelle de ces produits et de leurs données appropriées prendra beaucoup de temps à insérer dans la base de données.

Aussi, d'un autre côté, si vous avez besoin de télécharger un rapport comme hebdomadaire/quotidien/mensuel rapport des ventes, vous pouvez alors exporter les données vers Excel. 

Laravel Excel est développé comme étant un Laravel aromatisé Feuille de calcul php, il s'agit d'un wrapper gérable et intelligent autour de la feuille de calcul Php pour rationaliser les importations et les exportations. Laravel Excel a les caractéristiques suivantes :

  • Exportez sans effort des collections vers Excel.
  • Exportez les requêtes avec une segmentation automatique pour des performances plus satisfaisantes.
  • Exportez en file d'attente pour de meilleures performances.
  • Exportez facilement les vues Blade vers Excel.
  • Importez efficacement dans les collections.
  • Lisez le fichier Excel par fragments.
  • Gérez les encarts d'import par lots.

Il y a des moments où nous avons besoin de nos données sous forme de copie papier ou dans des formats plus conviviaux, dont l'un est une feuille de calcul Excel, et il est également utile de télécharger de grandes données dans la base de données via le format CSV.

Ainsi, dans ce blog, nous partagerons avec vous comment importer-exporter un fichier Excel vers la base de données dans Laravel 8 et vous aiderons à créer votre propre fonctionnalité d'importation/exportation dans Laravel.

Tout d'abord, vous devez configurer Laravel 8 sur votre système, que vous pouvez obtenir ici (lien vers le message).

Ainsi, après avoir configuré Laravel, vous devez suivre les étapes ci-dessous :

Étape 1: Installer le package Laravel Excel

Installez le package Laravel Excel, ce que vous pouvez simplement faire avec la commande composer ci-dessous :

le compositeur a besoin de maatwebsite/excel

Étape 2 : Enregistrez le service de package ci-dessus dans les fournisseurs et les alias pour lesquels vous devez vous rendre racine/configuration répertoire et ouvert app.php fichier, collez les lignes ci-dessous dans le fichier du fournisseur et section des alias:

'providers' => [
       
        Maatwebsite\Excel\ExcelServiceProvider::class,
        /*
    ],

    'aliases' => [      
        
        'Excel' => Maatwebsite\Excel\Facades\Excel::class,
    ],

Étape 3: Installez l' Forfait Excel Laravel en exécutant le commande de publication de fournisseur artisanal:

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"

Étape 4: Maintenant, vous avez besoin d'un table BD à partir duquel vous souhaitez importer ou exporter vos données, nous vous expliquerons avec mon tableau déjà existant 'employés".

Nous allons maintenant créer une classe d'importation et d'exportation pour le package Excel. Tout d'abord, nous allons créer une classe d'importation en utilisant artisan.

Création artisanale PHP : importer EmployeeImport –model=Emolyee

La commande ci-dessus créera un EmployeeImport.php déposer à l'intérieur du répertoire app/imports/ qui ressemblera à ceci :

Créez une classe d'exportation en utilisant : Création artisanale PHP : export EmployeeExport --model=Employee

Après cela, la classe d'exportation sera créée dans : app/Exportations/EmployeeExport.php qui ressemblera à ceci :

Ici, nous avons utilisé une classe supplémentaire de Site Web Maat\Excel qui est Avec en-têtes, qui vous permettra d'exporter un fichier excel avec les rubriques que nous avons définies à l'intérieur du titres() méthode de Classe WithHeadings, il y a beaucoup d'autres classes que vous pouvez trouver dans Dossier Maatwebsite\Excel\Concerns.

Aussi, lisez: CSS GRID Vs FLEXBOX, choisissez entre Grid et Flex

Étape 5: Créer un itinéraire pour import-export

Route::get('file-import-export', [EmployeesController::class, 'fileImportExport'])->name('file-import-export');
Route::post('file-import', [EmployeesController::class, 'fileImport'])->name('file-import');
Route::get('file-export', [EmployeesController::class, 'fileExport'])->name('file-export');

Étape 6: Ajouter des fonctions de contrôleur dans EmployésContrôleur:

public function fileImportExport()
    {
       return view('file-import');
    }
   
    /**
    * @return \Illuminate\Support\Collection
    */
    public function fileImport(Request $request) 
    {
        Excel::import(new ImportEmployee, $request->file('file')->store('temp'));
        return back();
    }

    /**
    * @return \Illuminate\Support\Collection
    */
    public function fileExport(Request $request) 
    {        
        return Excel::download(new ExportEmployee, 'employee-collection.xlsx');
    }

Et votre fichier de contrôleur ressemblera à ceci :

Étape 7: La prochaine étape consistera à créer une vue pour l'importation de fichiers : nommons-la "fichier-import.blade.php ».

Ajoutez le code ci-dessous au fichier de vue :

<form action="{{ route('file-import') }}" method="POST" enctype="multipart/form-data">
  @csrf
    <div class="form-group mb-4" style="max-width: 500px; margin: 0 auto;">
         <div class="custom-file text-left">
         	<input type="file" name="file" class="custom-file-input" id="customFile">
         	<label class="custom-file-label" for="customFile">Choose file</label>
         </div>
   </div>
          <button class="btn btn-primary">Import data</button>
         <a class="btn btn-success" href="{{ route('file-export') }}">Export data</a>
 </form>

Étape 8: La dernière étape sera de courir »service artisanal php" et utilisez la commande url '/fichier-import-export»

Aussi, lisez: 7 raisons de prendre au sérieux l'architecture des applications Web

Conclusion

En fin de compte, nous avons maintenant terminé la fonctionnalité d'exportation et d'importation de Fichiers Excel dans Laravel 8. C'est assez simple de faire un téléchargement avec le fichier excel. Pour importer les données à l'aide de la feuille Excel, il est simple d'importer et d'extraire les lignes.

Après avoir extrait les lignes, vous devez les insérer dans la table de la base de données. Voilà, c'est tout pour ce tutoriel excel import-export dans Laravel. Vous pouvez également utiliser le package Laravel-excel pour créer facilement d'autres formats de fichiers tels que tsv, xlsx, pdf, etc. exporter ou importer des fonctionnalités dans Laravel 8.

[sc name="Développement d'applications mobiles"] [add_newsletter] [add_related_page_diff_contents blog_cat = "web-application"]

La plupart du temps, vous travaillez sur n'importe quelle application de commerce électronique ou tout type d'ERP, vous devez importer-exporter des fichiers Excel pour les données. Il s'agit d'une fonctionnalité très courante dans n'importe quel application web. Si pour n'importe quelle application de commerce électronique, vous souhaitez ajouter des produits en vrac en même temps, la saisie manuelle de ces produits et de leurs données appropriées prendra beaucoup de temps à insérer dans la base de données.

Aussi, d'un autre côté, si vous avez besoin de télécharger un rapport comme hebdomadaire/quotidien/mensuel rapport des ventes, vous pouvez alors exporter les données vers Excel. 

Laravel Excel est développé comme étant un Laravel aromatisé Feuille de calcul php, il s'agit d'un wrapper gérable et intelligent autour de la feuille de calcul Php pour rationaliser les importations et les exportations. Laravel Excel a les caractéristiques suivantes :

  • Exportez sans effort des collections vers Excel.
  • Exportez les requêtes avec une segmentation automatique pour des performances plus satisfaisantes.
  • Exportez en file d'attente pour de meilleures performances.
  • Exportez facilement les vues Blade vers Excel.
  • Importez efficacement dans les collections.
  • Lisez le fichier Excel par fragments.
  • Gérez les encarts d'import par lots.

Il y a des moments où nous avons besoin de nos données sous forme de copie papier ou dans des formats plus conviviaux, dont l'un est une feuille de calcul Excel, et il est également utile de télécharger de grandes données dans la base de données via le format CSV.

Ainsi, dans ce blog, nous partagerons avec vous comment importer-exporter un fichier Excel vers la base de données dans Laravel 8 et vous aiderons à créer votre propre fonctionnalité d'importation/exportation dans Laravel.

Tout d'abord, vous devez configurer Laravel 8 sur votre système, que vous pouvez obtenir ici (lien vers le message).

Ainsi, après avoir configuré Laravel, vous devez suivre les étapes ci-dessous :

Étape 1: Installer le package Laravel Excel

Installez le package Laravel Excel, ce que vous pouvez simplement faire avec la commande composer ci-dessous :

le compositeur a besoin de maatwebsite/excel

Étape 2 : Enregistrez le service de package ci-dessus dans les fournisseurs et les alias pour lesquels vous devez vous rendre racine/configuration répertoire et ouvert app.php fichier, collez les lignes ci-dessous dans le fichier du fournisseur et section des alias:

'providers' => [
       
        Maatwebsite\Excel\ExcelServiceProvider::class,
        /*
    ],

    'aliases' => [      
        
        'Excel' => Maatwebsite\Excel\Facades\Excel::class,
    ],

Étape 3: Installez l' Forfait Excel Laravel en exécutant le commande de publication de fournisseur artisanal:

Vendeur artisanal php :publish –provider=”Maatwebsite\Excel\ExcelServiceProvider”

Étape 4: Maintenant, vous avez besoin d'un table BD à partir duquel vous souhaitez importer ou exporter vos données, nous vous expliquerons avec mon tableau déjà existant 'employés".

Nous allons maintenant créer une classe d'importation et d'exportation pour le package Excel. Tout d'abord, nous allons créer une classe d'importation en utilisant artisan.

Création artisanale PHP : importer EmployeeImport –model=Emolyee

La commande ci-dessus créera un EmployeeImport.php déposer à l'intérieur du répertoire app/imports/ qui ressemblera à ceci :

Créez une classe d'exportation en utilisant : Création artisanale PHP : export EmployeeExport –model=Employee

Après cela, la classe d'exportation sera créée dans : app/Exportations/EmployeeExport.php qui ressemblera à ceci :

Ici, nous avons utilisé une classe supplémentaire de Site Web Maat\Excel qui est Avec en-têtes, qui vous permettra d'exporter un fichier excel avec les rubriques que nous avons définies à l'intérieur du titres() méthode de Classe WithHeadings, il y a beaucoup d'autres classes que vous pouvez trouver dans Dossier Maatwebsite\Excel\Concerns.

Aussi, lisez: CSS GRID Vs FLEXBOX, choisissez entre Grid et Flex

Étape 5: Créer un itinéraire pour import-export

Route::get('file-import-export', [EmployeesController::class, 'fileImportExport'])->name('file-import-export');
Route::post('file-import', [EmployeesController::class, 'fileImport'])->name('file-import');
Route::get('file-export', [EmployeesController::class, 'fileExport'])->name('file-export');

Étape 6: Ajouter des fonctions de contrôleur dans EmployésContrôleur:

public function fileImportExport()
    {
       return view('file-import');
    }
   
    /**
    * @return \Illuminate\Support\Collection
    */
    public function fileImport(Request $request) 
    {
        Excel::import(new ImportEmployee, $request->file('file')->store('temp'));
        return back();
    }

    /**
    * @return \Illuminate\Support\Collection
    */
    public function fileExport(Request $request) 
    {        
        return Excel::download(new ExportEmployee, 'employee-collection.xlsx');
    }

Et votre fichier de contrôleur ressemblera à ceci :

Étape 7: La prochaine étape consistera à créer une vue pour l'importation de fichiers : nommons-la "fichier-import.blade.php ».

Ajoutez le code ci-dessous au fichier de vue :

<form action="{{ route('file-import') }}" method="POST" enctype="multipart/form-data">
  @csrf
    <div class="form-group mb-4" style="max-width: 500px; margin: 0 auto;">
         <div class="custom-file text-left">
         	<input type="file" name="file" class="custom-file-input" id="customFile">
         	<label class="custom-file-label" for="customFile">Choose file</label>
         </div>
   </div>
          <button class="btn btn-primary">Import data</button>
         <a class="btn btn-success" href="{{ route('file-export') }}">Export data</a>
 </form>

Étape 8: La dernière étape sera de courir »service artisanal php" et utilisez la commande url '/fichier-import-export»

Aussi, lisez: 7 raisons de prendre au sérieux l'architecture des applications Web

Conclusion

En fin de compte, nous avons maintenant terminé la fonctionnalité d'exportation et d'importation de Fichiers Excel dans Laravel 8. C'est assez simple de faire un téléchargement avec le fichier excel. Pour importer les données à l'aide de la feuille Excel, il est simple d'importer et d'extraire les lignes.

Après avoir extrait les lignes, vous devez les insérer dans la table de la base de données. Voilà, c'est tout pour ce tutoriel excel import-export dans Laravel. Vous pouvez également utiliser le package Laravel-excel pour créer facilement d'autres formats de fichiers tels que tsv, xlsx, pdf, etc. exporter ou importer des fonctionnalités dans Laravel 8.

Services de développement d'applications mobiles

Voulez-vous tirer parti de la technologie mobile pour votre entreprise? Cynoteck est un fournisseur unique de services de développement d'applications mobiles. Nous fournissons des services de développement d'applications iOS et Android afin que vous puissiez atteindre votre public cible sur n'importe quel appareil.



invité
0 Commentaires
Commentaires en ligne
Voir tous les commentaires
0
J'adorerais vos pensées, veuillez commenter.x