Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Comment lire et écrire des fichiers de feuille de calcul en PHP

390

En travaillant sur des applications Web, nous rencontrons souvent une situation où nous devons jouer avec des fichiers de feuille de calcul. Nous pouvons vouloir lire les données des feuilles de calcul et les traiter. Parfois, il est également nécessaire de créer et d’écrire des fichiers tableur.

Dans cet article, nous étudions comment lire et écrire des fichiers tableur en PHP. Le code que nous allons expliquer fonctionnera sur 3 types de feuilles de calcul – CSV, XLSX et ODS.

Commencer

En tant que développeur, j’aimerais expérimenter différents packages qui peuvent être utiles pour résoudre des problèmes du monde réel. Récemment, je suis tombé sur un paquet appelé box/spout. J’ai aimé la façon dont la bibliothèque effectuait les tâches. En utilisant cette bibliothèque, vous pouvez traiter des fichiers de feuille de calcul avec seulement quelques lignes de code.

Cette bibliothèque est capable de traiter des fichiers de toute taille. Il se peut que vous ayez affaire à un gros fichier. Au cours du processus, le fichier volumineux ne doit pas consommer de mémoire et crée un problème de performances. La bibliothèque de bec résout ce problème. Il n’a besoin que de 3 Mo de mémoire pour traiter n’importe quel fichier.

Avant de commencer, votre serveur doit répondre aux exigences ci-dessous.

  • PHP version 7.2 ou supérieure
  • Extension PHP php_zipactivée
  • Extension PHP php_xmlreaderactivée

L’utilisateur peut vérifier si toutes les exigences ci-dessus sont satisfaites sur votre serveur en utilisant la phpinfo()méthode. Créez un fichier PHP temporaire et placez-y l’instruction ci-dessous.

Exécutez maintenant ce fichier PHP sur le navigateur et vous verrez des configurations PHP telles que la version, les extensions, etc. Vous devriez voir xmlreaderet les zipextensions sont activées comme indiqué dans la capture d’écran ci-dessous.

Comment lire et écrire des fichiers de feuille de calcul en PHP

Une fois que vous remplissez les conditions requises, installez le box/spoutpackage via la commande ci-dessous.

composer require box/spout

Lire et écrire des fichiers de feuille de calcul en PHP

Le package Spout vous permet d’interagir avec les fichiers XLSX, CSV et ODS. À titre d’exemple, j’écris un code pour les fichiers XLSX.

Créez un exemple de fichier XLSX users.xlsxdans le répertoire racine et ajoutez-y des entrées factices. Dans mon cas, le fichier contient les entrées ci-dessous.

Comment lire et écrire des fichiers de feuille de calcul en PHP

Ensuite, j’écrirai un code dans un reader.phpfichier qui lira users.xlsxet imprimera les données qu’il contient.

lecteur.php

<?php
require_once 'vendor/autoload.php';
 
use BoxSpoutReaderCommonCreatorReaderEntityFactory;
 
$filePath = getcwd().'/users.xlsx';
 
$reader = ReaderEntityFactory::createReaderFromFile($filePath);
 
$reader->open($filePath);
 
foreach ($reader->getSheetIterator() as $sheet) {
    foreach ($sheet->getRowIterator() as $row) {
        $cells = $row->getCells();
        foreach ($cells as $cell) {
            echo $cell->getValue();
        }
    }
}
 
$reader->close();

C’est aussi simple que cela. Allez-y et essayez-le.

D’un autre côté, nous pouvons facilement créer un fichier XLSX et y écrire des données. Créons un fichier writer.phpet ajoutons le code ci-dessous.

écrivain.php

<?php
require_once 'vendor/autoload.php';
 
use BoxSpoutWriterCommonCreatorWriterEntityFactory;
use BoxSpoutCommonEntityRow;
 
$filePath = getcwd().'/new-users.xlsx';
 
$writer = WriterEntityFactory::createXLSXWriter();
 
$writer->openToFile($filePath);
 
// Here is data for XLSX file
$data = [
    ['Name', 'Email'],
    ['Steve', '[email protected]'],
    ['David', '[email protected]'],
];
 
foreach ($data as $d) {
    $cells = [
        WriterEntityFactory::createCell($d[0]),
        WriterEntityFactory::createCell($d[1]),
    ];
 
    $singleRow = WriterEntityFactory::createRow($cells);
    $writer->addRow($singleRow);
}
 
$writer->close();

Le code ci-dessus crée un new-users.xlsxfichier dans votre répertoire racine. Si vous ouvrez ce fichier, vous verrez quelques lignes (utilisées dans le code) y être insérées.

Dans le cas des fichiers CSV et ODS, vous devez créer un $writerobjet comme suit.

$filePath = getcwd().'/new-users.ods';
$writer = WriterEntityFactory::createODSWriter();
 
$filePath = getcwd().'/new-users.csv';
$writer = WriterEntityFactory::createCSVWriter();

J’espère que vous comprenez comment lire et écrire des fichiers tableur en PHP. J’aimerais entendre vos pensées et suggestions dans la section des commentaires ci-dessous.

Articles Liés

Source d’enregistrement: artisansweb.net

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails