Bonjour, alors, je lis grace à mon code php un fichier excel et je l'affiche tout simplement, sauf que les dates comme par exemple '16/05/2004' sont retranscrites sous cette forme '38123', c'est donc un problème de format ! savez vous comment je peux modifier cela ? Code: <?php // Code de lecture d'un fichier excel a plusieur colonnes et lignes require_once './PHPExcel/Classes/PHPExcel/IOFactory.php'; // Chargement du fichier Excel $objPHPExcel = PHPExcel_IOFactory::load("TestDate.xls"); /** * récupération de la première feuille du fichier Excel * @var PHPExcel_Worksheet $sheet */ $sheet = $objPHPExcel->getSheet(0); // Afficher la ligne 1, trouver les colonnes qui nous intéressent $ligne = 0; $cpt = 0; // On boucle sur les lignes foreach($sheet->getRowIterator() as $row) { // On boucle sur les cellule de la ligne 1 foreach ($row->getCellIterator() as $cell) { if ($ligne == 0){ $var = $cell->getValue(); if ($var == 'Code materiel'){ $tab['n26E'] = $cpt; } if ($var == 'Date Livraison'){ $tab['dLivr'] = $cpt; } $cpt++; } } $ligne++; } // Afficher juste les colonnes que l'on veut ! echo '<table border="1">'; $ligne = 0; $cpt = 0; // On boucle sur les lignes foreach($sheet->getRowIterator() as $row) { echo '<tr>'; $cpt_c =0; // On boucle sur les cellule de la ligne foreach ($row->getCellIterator() as $cell) { echo '<td>'; if ($cpt_c == 32){ print_r($cell->getValue()); $tab[$ligne]['n26E'] = $cell->getValue(); } if ($cpt_c == 49){ print_r($cell->getValue()); $tab[$ligne]['dLivrais'] = $cell->getValue(); } echo '</td>'; $cpt++; $cpt_c++; } echo '</tr>'; $ligne++; } echo '</table>'; ?>
Peut être regarder avec les méthodes de gestion de format de la classe http://www.developpez.net/forums/d1139184/php/bibliotheques-frameworks ... is-string/
oui j'avais trouvé cela aussi mais j'arrive pas à l'utiliser, si quelqu'un sait faire et peut m'expliquer je suis prenneuse !
Bon alors j'ai trouvé toute seule, pour ceux que ca interesse : j'ai donc mis la date dans la variable $date = $tab[$ligne]['dLivrais'] (ligne 56) alors excel renvois un nombre de jour écoulé depuis 1900 et la fonction mktime de php prend en parametre int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] ) ie mktime (heure, minute, seconde, mois, jour, annee) donc 0 heure, 0 minute, 0 seconde, 1 mois (car on commence au premier mois janvier), $date-1 (c'est notre nombre de jour renvoyer par excel, -1 car excel commence a un et php à 0), 1900 (car c'est l'année a partir de la quelle on veut qu'il compte) => mktime(0,0,0,1, $date-1, 1990) on obtient le nombre de jour écoulé depuis 1900 mais au format php pour mettre notre date sous une forme agréable on utilise la fonction date string date ( string $format [, int $timestamp = time() ] ) ie date(un formatde date, un nombre de jour écoulé) donc date("d/m/y", mktime(0,0,0,1, $date-1, 1990)); et voila il n'y a plus qu'a afficher !