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!
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 <?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 ); } } ?>
Merci pour votre temps.
Partager