[RESOLU] PHPExcel 1.8.0 récupérer valeur de plusieurs cellule

MI7
Eléphanteau du PHP | 16 Messages

20 août 2021, 01:20

bonjours je vous explique mon app web.

l'objectif de mon application web est d'avoir un bouton que l'utilisateur clique dessus.

Le code derrière va débuter à scanner tous les dossiers qui sont dans le dossier principal rdv

dans le rdv folder il contient trois dossiers qui se nomme le 1000 , 1001 , 1002 ceux-ci contient des fichiers .xlsx

récupère le dernier fichier .xslx enrigistré dans chacun des dossiers

mais apres cela ca ne fonctionne pas error : PHPExcel_Reader_Exception: Could not open 2.xlsx for reading!

Code : Tout sélectionner

<?php include 'database.php'; require 'PHPExcel/Classes/PHPExcel.php'; require_once 'PHPExcel/Classes/PHPExcel/IOFactory.php'; // recoit la valeur 'someAction' du bouton de la page index. if($_SERVER['REQUEST_METHOD'] == "POST" and isset($_POST['someAction'])) { func(); } function func() { //calcule le nombre de dossier dans le dossier rvd $howManyFolder = count(glob('rdv/*', GLOB_ONLYDIR)); //récupère le dernier fichier .xslx sauvegardé dans chacun des dossiers for ($i = 0; $i < $howManyFolder; $i++) { $files = scandir("rdv/100$i", SCANDIR_SORT_DESCENDING); echo "Récupération tous les fichers du dossier 100" . $i . "<br>"; print_r($files ); echo "<br>"; echo "recupere le dernier fichier insérer dans le dossier a l'indice 0 <br>"; $newest_file = $files[0]; print_r($newest_file); echo "<br>"; //load the file .xlsx (mais le code bug ici...) $objExcel=PHPExcel_IOFactory::load($newest_file); //recupere les valeurs dans le fichier .xlsx file $dossier = $objExcel->getActiveSheet()->getCell('A3')->getValue(); $facture = $objExcel->getActiveSheet()->getCell('B21')->getValue(); $date = $objExcel->getActiveSheet()->getCell('Q1')->getValue(); //appel la fonction pour insérer ces valeurs dans la base de données. insertInto($dossier, $facture, $date ); } } ?>
Alors, comment puis-je corriger l'erreur fatale et comment lire le fichier pour continuer le code, je souhaite obtenir 3 valeurs dans le fichier .xlsx et les insérer dans ma base de données.

Merci pour votre temps.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

23 août 2021, 11:32

PHPExcel_Reader_Exception: Could not open 2.xlsx for reading
Vu le message d'erreur, c'est juste que PHP n'arrive pas à ouvrir le fichier.

Donc repars d'une page blanche (un nouveau script PHP) où tu mets uniquement le code le plus minimaliste possible pour ouvrir ce fichier (avec le nom en dur), et voit si ça marche.
Essaye aussi avec file_get_contents() pour voir si ça bloque aussi ou pas.

Ça peut être un problème de chemin incorrect, de fichier corrompu, de permissions Windows, etc...
Quand tout le reste a échoué, lisez le mode d'emploi...

MI7
Eléphanteau du PHP | 16 Messages

08 sept. 2021, 23:48

absolument c'était tout bête et vous aviez raison.

j'ai rajouté cette ligne de code pour trouver le chemin du fichier.

//give the path of the file
$newest_file = dirname(__FILE__) . '/rdv/100' . $i . '/' . $newest_file;