如何使用PHPExcel將圖片數據從數據庫導出到Excel?

如何使用PHPExcel將圖片數據從數據庫導出到Excel?

phpexcel按模板導出數據圖片到excel

問題:

使用phpexcel按模板導出數據到excel時,遇到數據庫img字段中存放的圖片路徑為網址,但導出時顯示的是網址,如何修改代碼將圖片導出到excel?

解決方案:

立即學習PHP免費學習筆記(深入)”;

第一步,獲取圖片

  • 獲取數據庫中img字段中的圖片路徑(假設為$imageurl)

第二步,創建phpexcel圖片對象

  • 實例化一個phpexcel圖片對象($objdrawing)
  • 設置圖片名稱、描述和圖片mime類型

第三步,加載圖片

  • 對于本地圖片:

    • 從本地路徑加載圖片(imagecreatefromjpeg($imageurl))
  • 對于網絡圖片:

    • 從網絡url加載圖片(imagecreatefromstring(file_get_contents($imageurl)))

第四步,設置圖片屬性

  • 設置圖片寬高(setrenderingfunction(), setmimetype(), setheight(), setcoordinates())

第五步,將圖片添加到excel中

  • 將圖片對象添加到當前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);

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享