phpexecel 图片读取

piaoling  2014-03-13 15:05:49
function importExcel($inputFileName){
	$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
	
	
	$drawing = new PHPExcel_Writer_Excel2007_Drawing();
	 
	$drawingHashTable = new PHPExcel_HashTable();
	$drawingHashTable->addFromSource($drawing->allDrawings($objPHPExcel));
	// var_dump($drawingHashTable->count());
	$pics = array();
	for ($i = 0; $i < $drawingHashTable->count(); ++$i)
	{
		$memoryDrawing = $drawingHashTable->getByIndex($i);
		//var_dump($memoryDrawing);
		$coordinate = $memoryDrawing->getCoordinates();
		$hashCode = $memoryDrawing->getHashCode();
		//var_dump($coordinate);
		//var_dump($hashCode);
		
		if ($memoryDrawing instanceof PHPExcel_Worksheet_MemoryDrawing)
		{
			$src = $memoryDrawing->getPath();
			$filename = 'images/'.$memoryDrawing->getHashCode().$memoryDrawing->getFilename();
			if(file_exists($filename)){
				$filename ='images/'.rand(100000, 999999).'_'.$memoryDrawing->getHashCode().$memoryDrawing->getFilename();
			}
			copy($src, $filename);
			$pics[$coordinate][] =$filename;
			/*
			$filename = 'images/' . $memoryDrawing->getCoordinates() . '_' . $memoryDrawing->getHashCode() . '.jpg';
			// 将图片存到指定的目录
			imagejpeg($memoryDrawing->getImageResource(), $filename);
			// 获得该图片所在的单元格
			$cell = $memoryDrawing->getWorksheet()->getCell($memoryDrawing->getCoordinates());
			// 将该单元格的值设置为单元格的文本加上图片的 img 标签
			var_dump($filename);
			//$cell->setValue($cell->getValue() . $filename );
			 * */
			 
		}elseif($memoryDrawing instanceof PHPExcel_Worksheet_Drawing){
			$src = $memoryDrawing->getPath();
			$filename = 'images/'.$memoryDrawing->getHashCode().$memoryDrawing->getFilename();
			if(file_exists($filename)){
				$filename ='images/'.rand(100000, 999999).'_'.$memoryDrawing->getHashCode().$memoryDrawing->getFilename();
			}
			copy($src, $filename);
			$pics[$coordinate][] =$filename;
			
		}
	}
	//var_dump($pics);
	
	
	//echo '<hr />';
	
	$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
	//var_dump($sheetData);
	$products = array();
	foreach($sheetData[4] as $colkey=>$sku){
		if($colkey=='A'){
			continue;
		}
		if(!isset($sheetData[5][$colkey]) || !isset($sheetData[6][$colkey])|| !isset($sheetData[7][$colkey])
				|| !isset($sheetData[1][$colkey]) || !isset($pics[$colkey.'2']) || !isset($pics[$colkey.'3'])
				){
			echo $inputFileName.'<br />';
			echo $colkey.' not import<br />';
			continue;
		}
		$product = array();
		$product['sku']=$sku;
		$product['name'] = $sheetData[5][$colkey];
		$product['color'] = $sheetData[6][$colkey];
		$product['size'] = $sheetData[7][$colkey];
		$product['collection'] = $sheetData[1][$colkey];
		$product['picture'] = $pics[$colkey.'2'];
		$product['picture_zoom'] = $pics[$colkey.'3'];
		$products[] = $product;
	}
	
	return $products;
}
类别 :  默认(751)  |  浏览(5034)  |  评论(0)
发表评论(评论将通过邮件发给作者):

Email: