Introduction à PHPExcel
Date de publication : 05/02/2009 , Date de mise à jour : 14/07/2010
Extraire des images
Extraire des images
Lors d'échanges sur le forum, @objectifweb un posteur,nous a soumis une difficulté qu'il rencontrait, c'est à dire extraire des photos
d'un fichier existant.
Il nous à orienté sur une solution, que l'on peut retrouver dans les archives de PHPExcel.
A la lecture d'un fichier Excel, une des méthodes qui recense les images est getDrawingCollection().
Dans un premier temps créer un répertoire /images pour recpetionner toutes les images, ensuite il faut boucler sur getDrawingCollection() et créer les images avec la fonction image/jpeg/gif() de PHP
$objet1 = new PHPExcel_Reader_Excel5();
$excel1 = $objet1->load('Exemple14.xls');
$sheet1 = $excel1->getSheet(0);
foreach ($sheet1->getDrawingCollection() as $drawing) {
if ($drawing instanceof PHPExcel_Worksheet_Drawing) {
$filename = $drawing->getPath();
copy($filename, 'images/' . $drawing->getIndexedFilename());
} else if ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) {
$image = $drawing->getImageResource();
$renderingFunction = $drawing->getRenderingFunction();
switch ($renderingFunction) {
case PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG:
imagejpeg($image, 'images/' . $drawing->getIndexedFilename());
break;
case PHPExcel_Worksheet_MemoryDrawing::RENDERING_GIF:
imagegif($image, 'images/' . $drawing->getIndexedFilename());
break;
case PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG:
case PHPExcel_Worksheet_MemoryDrawing::RENDERING_DEFAULT:
imagepng($image, 'images/' . $drawing->getIndexedFilename());
break;
}
}
}
|


Ce document est issu de http://www.developpez.com et reste la
propriété exclusive de son auteur.
La copie, modification et/ou
distribution par quelque moyen que ce soit est soumise à l'obtention
préalable de l'autorisation de l'auteur.