phpexcel按模板導(dǎo)出數(shù)據(jù)圖片到excel
問(wèn)題:
使用phpexcel按模板導(dǎo)出數(shù)據(jù)到excel時(shí),遇到數(shù)據(jù)庫(kù)img字段中存放的圖片路徑為網(wǎng)址,但導(dǎo)出時(shí)顯示的是網(wǎng)址,如何修改代碼將圖片導(dǎo)出到excel?
解決方案:
立即學(xué)習(xí)“PHP免費(fèi)學(xué)習(xí)筆記(深入)”;
第一步,獲取圖片
- 獲取數(shù)據(jù)庫(kù)中img字段中的圖片路徑(假設(shè)為$imageurl)
第二步,創(chuàng)建phpexcel圖片對(duì)象
- 實(shí)例化一個(gè)phpexcel圖片對(duì)象($objdrawing)
- 設(shè)置圖片名稱、描述和圖片mime類型
第三步,加載圖片
-
對(duì)于本地圖片:
- 從本地路徑加載圖片(imagecreatefromjpeg($imageurl))
-
對(duì)于網(wǎng)絡(luò)圖片:
- 從網(wǎng)絡(luò)url加載圖片(imagecreatefromstring(file_get_contents($imageurl)))
第四步,設(shè)置圖片屬性
- 設(shè)置圖片寬高(setrenderingfunction(), setmimetype(), setheight(), setcoordinates())
第五步,將圖片添加到excel中
- 將圖片對(duì)象添加到當(dāng)前sheet(setworksheet($sheet))
示例代碼:
$imageUrl = $item['img']; $gdImage = imagecreatefromjpeg($imageUrl); $objDrawing = new PHPExcel_Worksheet_Drawing(); $objDrawing->setName('Sample image'); $objDrawing->setDescription('Sample image'); $objDrawing->setImageResource($gdImage); $objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG); $objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT); $objDrawing->setHeight(150); $objDrawing->setCoordinates($k . $highestRow); $objDrawing->setWorksheet($sheet);
登錄后復(fù)制