Export CSV avec Laravel : Xporter

Export CSV laravel

Sur toute application, il y a un moment dans le projet où on vous demande de gérer des exports de données en CSV ou xls. C’est devenu assez répétitif, et il y a quelques pièges à éviter.

Quand on commence à vous dire : j’ai juste besoin de de ça et ça et ça ira. Arrêtez tout de suite. Les exports vont être modifiés chaque matin pour s’adapter à Lucienne qui a un besoin différent de Jean-Jaques.

Pour régler le souci, j’ai créé un package pour Laravel, qui vous demande plusieurs choses :

  • Quels champs sont exportables pour ledit export
  • Quelle est la requête à sortir
  • Quel est le modèle de référence (le départ de la requête).
  • Et comment on transforme les données (si on a besoin d’une relation, ou de changer le typage d’un champ etc).

Grosso modo, le reflex de base va être de lister tous les modèles susceptibles d’intéresser quelqu’un, et de reprendre les champs de la propriété $fillable de votre modèle pour les rendre exportables.

De cette manière, la très grande majorité des données est dispo sous forme de fichier CSV, et vous allez déjà couvrir 80% des besoins.

Quand vous avez terminé ça, demandez si quelqu’un a un besoin précis, et vous pourrez utiliser la méthode convert() pour jouer avec les relations.

Je ne vous en dis pas plus, pour la suite ça se passe sur le github d’Xporter

 

metrogeek

Laisser un commentaire