Voici ma première question sur stackoverflow. J'essaie d'utiliser PHPExcel pour créer un tableau HTML à partir d'un fichier .xlsx. Vous pouvez trouver mon projet sur : http://rahulr92.x10.mx/excel/index.php Connectez-vous avec le nom d'utilisateur 'admin' et vous trouverez une option pour 'Voir le tableau'. Cette page affiche un tableau à partir d'un fichier .xlsx précédemment téléchargé. Je suis nouveau sur PHPExcel et j'ai utilisé un code standard trouvé en ligne. Le voici :
setReadDataOnly(true);
$objPHPExcel = $objReader->load("..\excel.xlsx");
$objWorksheet = $objPHPExcel->getActiveSheet();
$highestRow = $objWorksheet->getHighestRow();
$highestColumn = $objWorksheet->getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
$user=strtolower($_GET['user']);
$r_count=0;
echo '' . "\n";
for ($row = 5; $row <= $highestRow; ++$row) {
if ($row <7 || $user=="admin" || strstr(strtolower($objWorksheet->getCellByColumnAndRow(8, $row)->getValue()),$user ))
{
if($row>7)$r_count++;
for ($col = 0; $col <= $highestColumnIndex; ++$col) {
if(PHPExcel_Shared_Date::isDateTime($objWorksheet->getCellByColumnAndRow($col,$row)))
echo '' ;
else
echo '' . "\n";
}
echo '' . "\n";
}
}
echo '' . date("d M Y",PHPExcel_Shared_Date::ExcelToPHP($objWorksheet->getCellByColumnAndRow($col, $row))) . '' . $objWorksheet->getCellByColumnAndRow($col, $row)->getValue() . '' . "\n";
echo "Nombre d'entrées : ".$r_count;
?>
Désolé pour le code sub-optimal. Lorsque j'exécute le fichier php, j'obtiens un tableau et toutes les chaînes y sont affichées correctement, mais les champs de date et de nombre sont remplis avec des caractères apparemment aléatoires. Veuillez y jeter un œil depuis le lien ci-dessus. J'ai fait quelques recherches et découvert la fonction isDateTime() de cette manière. Mais cela ne fonctionne pas ou est peut-être utilisé de manière incorrecte. J'ai une date limite serrée pour ce projet, donc ce serait génial si quelqu'un pouvait me guider dans la bonne direction. Vraiment désolé si la réponse était très évidente. Merci beaucoup d'avance. Rahul