21,887
社区成员
发帖
与我相关
我的任务
分享
$excel=new PHPExcel();//创建PHPExcel对象
/*
文档的初始化设置....(省略)
...
*/
$Sheet1 = $excel->createSheet(); //创建工作簿
/*设置sheet的name*/
$Sheet1 ->setTitle('测试title');
$objDrawing = new PHPExcel_Worksheet_MemoryDrawing();
$objDrawing->setName('Sample image');
$objDrawing->setDescription('Sample image');
//解码图片
//var_dump(base64_decode(strstr($group_vol_img,'base64,')));
$imgcode = "data:image/png;base64,iVBORw0KGgoAAAANSUhE...";
$im = imagecreatefromstring(base64_decode(str_replace('data:image/png;base64,', '', $imgcode)));
$objDrawing->setImageResource($im);
$objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG); ////渲染方法
$objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);
$objDrawing->setHeight(300); //设置图片的高度
$objDrawing->setWidth(400); //设置图片的宽度
$objDrawing->setCoordinates('B2'); //设置图片所在表格位置
$objDrawing->setWorksheet($Sheet1);
4.6.42. Add a GD drawing to a worksheet
There might be a situation where you want to generate an in-memory image using GD and add it to a PHPExcel worksheet without first having to save this file to a temporary location.
Here’s an example which generates an image in memory and adds it to the active worksheet:
// Generate an image
$gdImage = @imagecreatetruecolor(120, 20) or die('Cannot Initialize new GD image stream');
$textColor = imagecolorallocate($gdImage, 255, 255, 255);
imagestring($gdImage, 1, 5, 5, 'Created with PHPExcel', $textColor);
// Add a drawing to the worksheet
$objDrawing = new PHPExcel_Worksheet_MemoryDrawing();
$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(36);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
$base64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhE...';
if (preg_match('/^data:image\/(\w+);base64,/', $base64, $matchs)){
$pic = '保存路径/图片名.'. $matchs[1];
file_put_contents($pic, base64_decode(str_replace($matchs[0], '', $base64)));
}else{
return false;
}