您好,登錄后才能下訂單哦!
要實(shí)現(xiàn)讀取excel中的圖片,可以通過(guò)phpspreadsheet來(lái)實(shí)現(xiàn)。phpspreadsheet是一個(gè)純php編寫的庫(kù),并引入了命名空間、PSR規(guī)范等。
使用composer安裝phpspreadsheet
composer require phpoffice/phpspreadsheet
GitHub下載:
https://github.com/PHPOffice/PhpSpreadsheet
(免費(fèi)視頻教程推薦:php視頻教程)
excel圖片如下圖:
項(xiàng)目實(shí)例:
use PhpOffice\PhpSpreadsheet\Cell\Coordinate; use PhpOffice\PhpSpreadsheet\IOFactory; $imageFilePath = './uploads/imgs/'; //圖片本地存儲(chǔ)的路徑 if (!file_exists($imageFilePath)) { //如果目錄不存在則遞歸創(chuàng)建 mkdir($imageFilePath, 0777, true); } try { $inputFileName = './files/1.xlsx'; //包含圖片的Excel文件 $objRead = IOFactory::createReader('Xlsx'); $objSpreadsheet = $objRead->load($inputFileName); $objWorksheet = $objSpreadsheet->getSheet(0); $data = $objWorksheet->toArray(); foreach ($objWorksheet->getDrawingCollection() as $drawing) { list($startColumn, $startRow) = Coordinate::coordinateFromString($drawing->getCoordinates()); $imageFileName = $drawing->getCoordinates() . mt_rand(1000, 9999); switch ($drawing->getExtension()) { case 'jpg': case 'jpeg': $imageFileName .= '.jpg'; $source = imagecreatefromjpeg($drawing->getPath()); imagejpeg($source, $imageFilePath . $imageFileName); break; case 'gif': $imageFileName .= '.gif'; $source = imagecreatefromgif($drawing->getPath()); imagegif($source, $imageFilePath . $imageFileName); break; case 'png': $imageFileName .= '.png'; $source = imagecreatefrompng($drawing->getPath()); imagepng($source, $imageFilePath, $imageFileName); break; } $startColumn = ABC2decimal($startColumn); $data[$startRow-1][$startColumn] = $imageFilePath . $imageFileName; } dump($data);die(); } catch (\Exception $e) { throw $e; } public function ABC2decimal($abc) { $ten = 0; $len = strlen($abc); for($i=1;$i<=$len;$i++){ $char = substr($abc,0-$i,1);//反向獲取單個(gè)字符 $int = ord($char); $ten += ($int-65)*pow(26,$i-1); } return $ten; }
結(jié)果如圖:
以上就是利用php實(shí)現(xiàn)讀取excel中的圖片的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注億速云其它相關(guān)文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。