Bonjour,
J'utilise PHPExcel pour récupérer des données dans un fichier XLSX et les exploiter dans une page HTML.
Le code de ma page est le suivant :
Comme vous voyez je récupère une date avec la ligne
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>AGENDA DES SPECTACLES</title> <meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width"> <link rel="stylesheet" href="style.css" media="screen"> </head> <body> <!-- Je fais un tableau de deux colonnes--> <table width="900" border="1" align="center"> <tr> <!-- première colonne avec juste mon image AGENDA--> <td width="14%" height="779" align="center" valign="middle"><img src="./images/header.jpg" width="93" height="759" /></td> <!-- seconde colonne pour les différentes dates--> <td width="86%"> <!-- Je mets une div qui trouve dans le CSS la longueur et qui définit overflow pour le défilement--> <div id="agendalong"> <!-- ************************************************************************************************* ********** DEBUT DU PHP ***************************************************************************** ***************************************************************************************************--> <?php /** Charger la bibliothèque **/ set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/'); include 'PHPExcel/IOFactory.php'; /** définir le fichier à examiner*/ $inputFileName = './dates.xlsx'; /** On "charge le fichier excel*/ $objPHPExcel = PHPExcel_IOFactory::load($inputFileName); /** On dit que c'est la feuille 0 du fichier excell qu'on va utiliser*/ $worksheet=$objPHPExcel->getSheet(0); /** je met à zero la variable qui va compter les lignes*/ $i=1; /** On boucle pour passer les lignes en revue*/ foreach ($worksheet->getRowIterator() as $row) { $i = $row->getrowindex(); /** Ici je met dans les différentes variables le contenu de la cellule concernée pour la ligne en cours*/ $affiche =$worksheet->getCellByColumnAndRow('0',$i)->getCalculatedValue(); $lieu =$worksheet->getCellByColumnAndRow('1',$i)->getCalculatedValue(); $dati =$worksheet->getCellByColumnAndRow('2',$i)->getCalculatedvalue(); $site =$worksheet->getCellByColumnAndRow('3',$i)->getCalculatedValue(); $mail =$worksheet->getCellByColumnAndRow('4',$i)->getCalculatedValue(); $telephone =$worksheet->getCellByColumnAndRow('5',$i)->getCalculatedValue(); /** On envoi du HTML pour exploiter le contenu des différentes variables et que ça s'affiche bien*/ echo <<<HTML <table width="100%" border="1"><tr> <td width="15%"><img src="$affiche" width="134" height="179" /></td> <td width="85%"> <span style='font-family:Comic Sans MS; text-align:left; font-size:25px; line-height:25px;'>{$lieu}</span> </BR> </BR> <table width="100%" border="0"><tr> <td width="80%"> <span style='font-family:Arial; text-align:left; font-size:12px; line-height:22px;'>{$dati}</span> </BR> </BR> <span style='font-family:Arial; text-align:left; font-size:14px; line-height:22px;'>Réservation : <a href="{$site}" target="_blank">Site internet - </a> <a href="{$mail}">Par e-mail </a> </span> </BR> </BR> <span style='font-family:Arial; text-align:left; font-size:14px; line-height:22px;'>Numéro de téléphone : {$telephone}</span> </td> <td width="20%"> <a href="./oops.html" target="_blank" title="Cliquez ici"> <img src="./images/bouton.png" width="134" height="134" class=""></a> </td> </tr> </table> </tr> </table> HTML; } ?> </td> </tr> </table> </div> </body> </html>Mon souci c'est que cette date s'affiche parfaitement dans mon fichier Excel (du genre : Vendredi 17 Janvier 2014) mais une fois affichée par ma page, la date devient "41656" comme vous pouvez le voir ici : espaceimy.cluster010.ovh.net/agenda2/
Code : Sélectionner tout - Visualiser dans une fenêtre à part $dati =$worksheet->getCellByColumnAndRow('2',$i)->getCalculatedvalue();
J'ai regardé dans la doc de PHPExcel et j'ai vu qu'il ya moyen de formater les dates pour écrire dans une cellule mais je ne comprends pas comment mettre en forme une date qu'on à lue dans un fichier.
D'Autre part je voudrais comparer la date qui est dans $dati avec la date courante et déclencher une condition si $dati est après la date courante.
J'ai vu qu'il y a la fonction now pour connaitre la date courante mais je ne sais pas comment est la syntaxe pour faire la comparaison.
Je suppose que c'est un truc du genre
Mais bien sur ça ne marche pas et je suppose que c'est du au fait que $dati n'est pas du bon "type" pour être comparé à now.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if ($dati>now) {ce que je veux faire} else {ce que je fais sinon}
Du coup je me demande comment faire pour mettre $dati dans un état ou il peut être comparé et comment ensuite le mettre dans un état ou il peut être affiché comme sur Excel c'est à dire : Lundi 3 septembre 2012.
Si quelqu'un connait PHPExcel et sait m'aider ce serait cool.
Merci.
A+
Partager