Importer et exporter des fichiers Excel, CSV et ODS via une bibliothèque PHP gratuite
API PHP open source qui permet aux développeurs de logiciels d'importer et d'exporter des fichiers MS Excel. Découvrez ses fonctionnalités, ses avantages et des exemples de code pour gérer efficacement de grands ensembles de données.
Qu'est-ce que Fast-Excel ?
Fast-Excel est un package PHP léger conçu pour simplifier les opérations d'import/export Excel et CSV dans les applications Laravel. Construit sur OpenSpout, il met l'accent sur la rapidité, la faible consommation de mémoire et une syntaxe conviviale pour les développeurs. Contrairement aux bibliothèques de feuilles de calcul plus lourdes, Fast-Excel est idéal pour les projets qui nécessitent une gestion simple et efficace des feuilles de calcul sans complexité inutile. Il prend en charge l'exportation et l'importation des fichiers XLSX, CSV et ODS tout en maintenant une consommation de mémoire étonnamment basse.
Fast-Excel est particulièrement utile pour les développeurs qui doivent traiter de grands fichiers Excel, CSV ou ODS sans rencontrer de limitations de mémoire. Les bibliothèques traditionnelles chargent souvent l'intégralité des ensembles de données en mémoire, mais Fast-Excel utilise des techniques de streaming pour gérer les données efficacement. La bibliothèque est largement utilisée pour exporter des enregistrements de base de données vers des feuilles de calcul, importer des données utilisateur ou des rapports, générer de grands rapports dynamiquement, simplifier la gestion d'Excel dans les applications Laravel, etc. Avec son API claire et une configuration minimale, Fast-Excel réduit le temps de développement tout en améliorant les performances.
Premiers pas avec Fast-Excel
La façon recommandée d'installer Fast-Excel dans votre projet est d'utiliser Composer. Veuillez utiliser la commande suivante pour une installation fluide
Installer Fast-Excel via Composer
composer require rap2hpoutre/fast-excelVous pouvez également cloner le projet avec Git en exécutant
Exporter des collections vers des fichiers Excel via PHP
Fast-Excel rend l'exportation de collections ou de modèles vers Excel incroyablement simple. En quelques lignes de code seulement, vous pouvez générer des fichiers .xlsx, .csv ou .ods. Cette fonctionnalité élimine le code boilerplate et accélère le développement, notamment pour les tableaux de bord ou les systèmes de reporting. L'exemple suivant montre comment exporter des données vers un fichier MS Excel XLSX en utilisant du code PHP. La bibliothèque convertit directement une collection Laravel en fichier Excel sans nécessiter de configurations complexes.
Comment exporter des données vers un fichier Excel XLSX via une bibliothèque PHP ?
use Rap2hpoutre\FastExcel\FastExcel;
// Sample data
$list = collect([
['id' => 1, 'name' => 'Jane'],
['id' => 2, 'name' => 'John'],
]);
// Export to Excel
(new FastExcel($list))->export('users.xlsx');
Exportations fragmentées à faible consommation de mémoire à l'aide de générateurs
La bibliothèque open source Fast-Excel inclut la prise en charge d'une faible consommation de mémoire et une syntaxe simple pour l'importation ou l'exportation de données. C'est la fonctionnalité phare pour gérer le « big data ». Au lieu de charger un million d'utilisateurs dans un tableau, vous utilisez cursor() de Laravel ou un générateur yield personnalisé. L'exportateur traite chaque ligne une par une, l'écrit dans le fichier et la libère de la mémoire. Cela maintient votre utilisation de mémoire constante (très basse) que vous exportiez 100 lignes ou 10 millions de lignes.
Comment exporter des champs spécifiques avec des en-têtes personnalisés dans les applications PHP ?
return (new FastExcel(User::all()))->export('formatted_users.xlsx', function ($user) {
return [
'Full Name' => $user->firstname . ' ' . $user->lastname,
'Email Address' => $user->email,
'Member Since' => $user->created_at->format('Y-m-d'),
'Status' => $user->is_active ? 'Active' : 'Suspended'
];
});
Importer des données directement dans la base de données
Au lieu d'importer les lignes manuellement, Fast-Excel peut traiter chaque ligne et l'insérer directement dans votre base de données. C’est idéal pour les téléchargements massifs par les administrateurs et offre de nombreux avantages tels que l’insertion en masse dans la base de données, un code plus propre, moins de traitement manuel, des flux de travail administratifs faciles, etc. Cela est particulièrement utile pour les systèmes RH, les CRM et les plateformes e‑Commerce. Voici un exemple utile qui montre comment importer des données dans une base de données au sein d’applications PHP.
Comment importer des données directement dans une base de données via une bibliothèque PHP ?
use Rap2hpoutre\FastExcel\FastExcel;
use App\Models\User;
(new FastExcel)->import('users.xlsx', function ($line) {
return User::create([
'name' => $line['Name'],
'email' => $line['Email'],
]);
});
Mappage et formatage personnalisés des colonnes via PHP
Les colonnes de la base de données ne sont pas toujours lisibles par les humains. La bibliothèque Fast-Excel inclut une prise en charge complète du mappage et du formatage personnalisés des colonnes ou des lignes. Cette fonctionnalité vous permet de définir exactement quels attributs exporter et de reformater leurs valeurs à la volée. Que vous ayez besoin de mettre en majuscules un nom de famille, de combiner le prénom et le nom, ou de renommer « user_id » en « Identifiant Employé », la fermeture vous donne un contrôle total sur le tableau de sortie final.