En utilisant ce site, vous acceptez la Politique de confidentialité et les Conditions Générales de Vente.
Accepter
Le Blog de BBND – Actualités et nouvelles tendances du webLe Blog de BBND – Actualités et nouvelles tendances du web
  • News
  • Catégories
    • Actualités Numériques
    • Blockchain
    • Business Intelligence
    • Cybersécurité
    • Data
    • Développement Web
    • Hardware
    • Intelligence Artificielle
    • Mobile
    • Technologie
    • Web Design
    • Web Marketing
  • BBND
  • Qui sommes-nous
  • Initiatives
  • Réalisations
  • Formations
  • Recrutement
  • Contact
En cours de lecture : OpenSpout : L’outil PHP ultime pour CSV et XLSX
Partager
Notification Voir mes signets
Dernières actualités
Illustration représentant Rclone, un outil de synchronisation cloud en ligne de commande, avec une icône de cloud et flèches de transfert
Rclone : Guide complet pour synchroniser, sauvegarder et monter vos fichiers cloud
Technologie
Schéma comparatif entre IPMI, PiKVM et NanoKVM pour le contrôle à distance
IPMI, PiKVM ou NanoKVM : Quelle solution KVM choisir ?
Hardware
Des packages npm malveillants compromettent Cursor, volent des identifiants et cryptomonnaies, et déploient des chevaux de Troie. Détail des campagnes.
Une faille dans Cursor : plus de 3 200 développeurs infectés via des packages npm malveillants
Cybersécurité
Filament v3 laravel
Pourquoi Filament V3 change-t-il la donne pour les développeurs Laravel ?
Développement Web
Illustration d’un cerveau connecté à une intelligence artificielle, symbolisant la recherche contre Alzheimer
L’IA dévoile une cause possible d’Alzheimer et identifie une piste thérapeutique prometteuse
Intelligence Artificielle
Aa
Le Blog de BBND – Actualités et nouvelles tendances du webLe Blog de BBND – Actualités et nouvelles tendances du web
Aa
Recherche
  • News
  • Catégories
    • Actualités Numériques
    • Blockchain
    • Business Intelligence
    • Cybersécurité
    • Data
    • Développement Web
    • Hardware
    • Intelligence Artificielle
    • Mobile
    • Technologie
    • Web Design
    • Web Marketing
  • BBND
    • Qui sommes-nous
    • Initiatives
    • Réalisations
    • Formations
    • Recrutement
    • Contact
Suivez-nous
  • Personnaliser mes sujets d’intérêts
  • Mes signets
© 2023 BBND All Rights Reserved.
Le Blog de BBND – Actualités et nouvelles tendances du web > Tous les articles > Data > OpenSpout : L’outil PHP ultime pour CSV et XLSX
DataDéveloppement Web

OpenSpout : L’outil PHP ultime pour CSV et XLSX

Hamza L.
De Hamza L. 8 octobre 2024
Partager
3 min de lecture
Partager

OpenSpout est une bibliothèque open-source en PHP conçue pour lire et écrire des fichiers de type tableur, tels que les fichiers CSV, XLSX, et ODS, de manière rapide et scalable. Contrairement à d’autres bibliothèques similaires, OpenSpout se distingue par sa capacité à traiter des fichiers de très grande taille tout en maintenant une utilisation mémoire extrêmement faible, souvent inférieure à 3 Mo.

Installation

L’installation d’OpenSpout est simple et se fait via Composer, un gestionnaire de dépendances PHP. Pour installer la bibliothèque, exécutez la commande suivante dans votre terminal :

composer require openspout/openspout

Utilisation de base

Lecture de fichiers

Quel que soit le type de fichier que vous souhaitez lire (CSV, XLSX, ODS), l’interface de lecture est la même. Voici un exemple de code pour lire un fichier :

use OpenSpout\Reader\CSV\Reader;

$reader = new Reader();
$reader->open('/chemin/vers/fichier.csv');

foreach ($reader->getSheetIterator() as $sheet) {
    foreach ($sheet->getRowIterator() as $row) {
        $cellules = $row->getCells();
        // Traitez les données ici
    }
}

$reader->close();

Si le fichier contient plusieurs feuilles, le lecteur les traitera séquentiellement.

Écriture de fichiers

L’écriture de fichiers est également simple et uniforme, quel que soit le format de sortie. Voici comment créer un fichier XLSX :

use OpenSpout\Writer\XLSX\Writer;
use OpenSpout\Common\Entity\Row;
use OpenSpout\Common\Entity\Cell;

$writer = new Writer();
$writer->openToFile('/chemin/vers/fichier.xlsx');

$cellules = [
    Cell::fromValue('Bonjour'),
    Cell::fromValue('le'),
    Cell::fromValue('monde!'),
];

$ligne = new Row($cellules);
$writer->addRow($ligne);

$writer->close();

Avantages et Fonctionnalités

OpenSpout est particulièrement utile pour manipuler des fichiers de très grande taille, là où d’autres bibliothèques échouent ou consomment trop de mémoire. De plus, il offre une interface homogène pour lire et écrire différents formats, ce qui simplifie l’intégration dans des projets PHP existants.

Exemple avancé

Voici un exemple d’écriture d’un fichier XLSX avec plusieurs feuilles :

$writer = new \OpenSpout\Writer\XLSX\Writer();
$writer->openToFile('multi_sheet.xlsx');

for ($i = 1; $i <= 3; $i++) {
    $writer->addNewSheetAndMakeItCurrent();
    for ($j = 1; $j <= 5; $j++) {
        $writer->addRow(Row::fromValues(["Feuille $i", "Ligne $j"]));
    }
}

$writer->close();

En conclusion, OpenSpout est une solution idéale pour les développeurs PHP qui ont besoin de gérer efficacement des fichiers de tableur volumineux. Son installation facile, ses performances élevées, et son interface simple en font un outil précieux pour de nombreux projets.

Vous devriez également aimer

Pourquoi Filament V3 change-t-il la donne pour les développeurs Laravel ?

Tailwind CSS v4.0 : La révolution de la productivité Front-End

JavaScript Temporal : La révolution de la gestion des dates enfin arrivée

Pourquoi TypeScript est l’avenir du développement web

VSCode et npm : la menace des extensions frauduleuses

TAG : csv, openspout, php, xlsx
Partager cet article
Facebook Twitter LinkedIn Copier le lien Imprimer
Qu´en avez-vous pensé ?
Ennuyant0
Triste0
Révoltant0
Drôle0
Accablant0
Plaisant0
Malin0
Surprenant0
Waouh0
Article précédent Ray Kurzweil et l’IA : visions et critiques de Laurent Alexandre
Article suivant Laravel facades Tout savoir sur les façades Laravel : Utilisation et exemples

Restez connecté

Facebook Like
Twitter Suivre
Instagram Suivre
Youtube S´inscrire
banner banner
Faites confiance à BBND
Développez tous vos projets digitaux grâce à une équipe d'experts
En savoir plus

Dernières actualités

Illustration représentant Rclone, un outil de synchronisation cloud en ligne de commande, avec une icône de cloud et flèches de transfert
Rclone : Guide complet pour synchroniser, sauvegarder et monter vos fichiers cloud
Technologie
Schéma comparatif entre IPMI, PiKVM et NanoKVM pour le contrôle à distance
IPMI, PiKVM ou NanoKVM : Quelle solution KVM choisir ?
Hardware
Des packages npm malveillants compromettent Cursor, volent des identifiants et cryptomonnaies, et déploient des chevaux de Troie. Détail des campagnes.
Une faille dans Cursor : plus de 3 200 développeurs infectés via des packages npm malveillants
Cybersécurité
Filament v3 laravel
Pourquoi Filament V3 change-t-il la donne pour les développeurs Laravel ?
Développement Web
//

Le blog BBND
Actualités et nouvelles tendances du numérique

Catégories news

  • Actualités Numériques
  • Blockchain
  • Business Intelligence
  • Cybersécurité
  • Data
  • Développement Web
  • Intelligence Artificielle
  • Hardware
  • Mobile
  • Technologie
  • Web Design
  • Web Marketing

Notre société

  • Qui sommes-nous
  • Initiatives
  • Réalisations
  • Formations
  • Recrutement
  • Contact

Liens utiles

  • Mentions légales
  • CGV
  • Politique de confidentialité

Nos services

  • Développement web/mobile/desktop
  • SEO
  • Stratégie de communication & Community management
  • Audit d’ergonomie
  • Solutions de cybersécurité
  • Outils de cybersécurité
  • E-droit & E-réputation
  • Innovation de service & Innovation technologique
  • Intelligence Artificielle & Business Intellligence
  • Design graphique
  • Jeux mobile
  • Motion design
  • Impression tout support
Le Blog de BBND – Actualités et nouvelles tendances du webLe Blog de BBND – Actualités et nouvelles tendances du web
Suivez-nous

© 2023 BBND. All Rights Reserved.

Un projet digital ?

Notre équipe d'experts couvre de larges domaines du numérique

Contactez-nous pour nous en faire part !

Supprimé de la liste de lecture

Annuler
Welcome Back!

Sign in to your account

Mot de passe perdu ?