问题:
使用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);
登录后复制