phpexcel图片获取
阅读原文时间:2023年08月09日阅读:1

phpexcel图片获取常见的两种方式:

require_once dirname(__FILE__) . '/../Jn/PHPExcel.php';
$filePath = "123.xls";

$inputFileType = PHPExcel_IOFactory::identify($filePath);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load("templates/123.xls");
$worksheet = $objPHPExcel->getSheet(0); //**读取excel文件中的指定工作表*/

foreach ($worksheet->getDrawingCollection() as $drawing) {
$xy=$drawing->getCoordinates();//得到单元数据 比如G2单元
$path = "pic/";
if ($drawing instanceof PHPExcel_Worksheet_Drawing) {//支持excel2007后缀为(.xlsx)
$filename = $drawing->getPath();

    //第一种直接拷贝  
    //copy($filename, $path.$codata.'\_'.$imageFileNames);

    //第二种另存图片流  
    $imgData=file\_get\_contents($filename);  
    $imageFileName = $drawing->getIndexedFilename();  
    //$ImgExt = strchr($imageFileName,'.');  
    file\_put\_contents($path.$codata.'\_'.$imageFileNames,$imageContents); //把文件保存到本地

}elseif($drawing instanceof PHPExcel\_Worksheet\_MemoryDrawing) {//支持excel2003后缀为(.xls)  
    $imageFileNames = $drawing->getIndexedFilename();  
    //$ImgExt = strchr($imageFileNames,'.');  
    ob\_start();  
    call\_user\_func(  
        $drawing->getRenderingFunction(),  
        $drawing->getImageResource()  
    );  
    $imageContents = ob\_get\_contents();  
    ob\_end\_clean();  
    echo strlen($imageContents);

    file\_put\_contents($path.$codata.'\_'.$imageFileNames,$imageContents); //把文件保存到本地

}

}