IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Introduction à PHPExcel

Image non disponible


précédentsommairesuivant

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 a orienté vers une solution, que l'on peut retrouver dans les archives de PHPExcel. À 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 réceptionner toutes les images, ensuite il faut boucler sur getDrawingCollection() et créer les images avec la fonction image/jpeg/gif() de PHP

 
Sélectionnez
$objet1 = new PHPExcel_Reader_Excel5();

$excel1 = $objet1->load('Exemple14.xls');

$sheet1 = $excel1->getSheet(0);

foreach ($sheet1->getDrawingCollection() as $drawing) {
  // $drawing->getCoordinates();

  // we have an ordinary drawing (case xlsx)
  if ($drawing instanceof PHPExcel_Worksheet_Drawing) {

    $filename = $drawing->getPath();

    copy($filename, 'images/' . $drawing->getIndexedFilename());

    // we have a memory drawing (case xls)
  } else if ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) {
    
    $image = $drawing->getImageResource();

    // save image to disk
    $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;
    }
  }
}

précédentsommairesuivant

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.