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

Introduction à PHPExcel

Image non disponible

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 à 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

 
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.