Bonjour,
plus que débutant en PHP...
J'ai un fichier .xlsx avec dans la première colonne des dates.
Ces dates sont croissantes et uniques.
Je dois lire cette colonne(A) et dès que je trouve la date du jour, sortir les données de la colonne B et C.
J'arrive à ouvrir mon fichier .xlsx, à lire la première donnée dans la colonne A.
Quand je fais un 'ECHO' de la valeur évidemment, j'ai le nombre xls qui se cache derrière la date , soit 43080.
Je sais que c'est le 43080 jour après le 1/1/1900 mais je ne sais pas comment PHP peut me l'afficher correctement?
Je sais aussi que PHP préfère commencer au 1/1/1970, qu'il y a 25569 jours de différence entre ces deux dates mais pas moyen d'afficher quelque chose de correct ni même de comparer ce nombre avec la date du jour venant de la fonction date() de PHP.
voici mon code :
merci d'avance pour votre aide
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 <?php require_once('PHPExcel/Classes/PHPExcel.php'); $date = date("d/m/Y"); $heure = date("H"); $minute = date("i"); $date_reference = $date; $lignes = 0; $colonne = 0; // Ouvrir un fichier Excel en lecture $objReader = PHPExcel_IOFactory::createReader('Excel2007'); $objPHPExcel = $objReader->load("gardes.xlsx"); //aller sur la feuille active $sheet = $objPHPExcel->getActiveSheet() ; // le fichier xlsx est ouvert // selon l'heure du moment, on va déterminer si on affiche le jour - 1 ou jour J if ($heure < 8 OR $heure == 8 AND $minute < 30) { $date_reference = $date_reference - 1; } // on va lire le fichier xls $colonne = 'A'; // On choisit de regarder la colonne A $lignes = $sheet->getHighestRow(); // Dans notre excel on va récupérer le numero de la dernière ligne remplis for ($ligne = 2; $ligne <= $lignes; $ligne++) { // Pour chaque ligne jusqu'a la dernière on récupère la cellule $cell = $sheet->getCell($colonne.$ligne); $cell = $cell - 1; echo $cell; // echo date('d/m/Y', ($cell)); if($cell == $date_reference) { echo 'bonjour'; echo $ligne; echo 'fin'; } }
Partager