Bonjour,
J'ai une question très bête mais bon, c'est le matin on va dire!
Voilà, je dois parcourir le contenu d'un fichier Excel.
Plus précisément, je dois vérifier si dans la colonne B (string) un nom correspond à ce que je cherche.
Si oui, je dois extraire le contenu de la cellule de la colonne F correspondante (int),
Sinon, je passe à la ligne suivante.
En fait, j'ai un peu préparé mon algo:
Je code en PHP et je bloque sur plusieurs petites choses. Comme par exemple, comment faire mes deux première boucles, et notament ma boucle For. Je me demande quel argument mettre en deuxième position... En effet, je ne veux pas parcourir indéfiniment le fichier, je veux que la boucle s'arrête si les lignes suivantes sont vides. Je suppose qu'une méthode existe déjà, mais je n'en trouve pas!Parcours fichier excel
Pour chaque ligne
Extraire la chaine de caractère dans la colonne B (ex: fichier_type1_00001)
Déterminer $nom_court de cette chaine (ex: fichier_type1)
Si $nom_court == ce que je cherche
Extraire $nombre dans la colonne F
Sinon passer à la ligne suivante
PS : Je débute complètement là dedans, donc pas taper!
Merci de votre aide
EDIT : Voici ce que j'ai commencé à coder, mais il me manque la boucle...
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 $o_workbook = PHPExcel_IOFactory::load("mon_ficher.xls"); $o_sheet = $o_workbook->getSheet(0); $v_ligne=2; //Pour chaque ligne //Extraire la chaine de caractères contenu dans la cellule (colB) $v_chaine = strval($o_sheet->getCell("B".$v_ligne)->getValue()); //Déterminer nom court de la chaine $v_chaine_court = substr($v_chaine, 0, -23); //Si la chaine de caractères correspond à ce que je cherche switch($v_chaine_court){ case "BLAHBLAH": //Extraire la quantité correspondante dans la colonne F $v_nb_docs = intval($o_sheet->getCell("F".$v_ligne)->getValue()); //Ajouter cette quantité au stock présent dans le tableau de référence $v_total_documents_blahblah+=$v_nb_docs; break; case "ABCDEFG": //Extraire la quantité correspondante dans la colonne F $v_nb_docs = intval($o_sheet->getCell("F".$v_ligne)->getValue()); //Ajouter cette quantité au stock présent dans le tableau de référence $v_total_documents_abcdefg+=$v_nb_docs; break; }
Partager