phpexcel图片获取

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); //把文件保存到本地
		
	
	}

}

 

你可能感兴趣的:(phpexcel图片获取)