PHP Excel图像更改大小

use*_*003 7 php xls phpexcel

开发将使用PHP Excel创建Excel文件的PHP代码.

我需要将图像放入XLS文件中.我遇到的问题是图像的尺寸不是我在代码中定义的尺寸:

$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('Water_Level');
$objDrawing->setDescription('Water_Level');
$objDrawing->setPath('img/logo-rab.jpg');
$objDrawing->setHeight(74);
$objDrawing->setCoordinates('A1');
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
Run Code Online (Sandbox Code Playgroud)

此图像远高于74像素.试图增加高度和宽度,但总是相同.

你能帮助我如何在我的XLS中添加图像,我在PHP代码中定义了维度吗?

先感谢您!

小智 6

您是否尝试过使用setWidthAndHeight并将ResizeProportional设置为true?

$objDrawing->setWidthAndHeight(148,74);
$objDrawing->setResizeProportional(true);
Run Code Online (Sandbox Code Playgroud)


Bru*_*olo 5

我以不同的方式尝试过,但 excel 自动强制图像缩放。无论如何,我通过首先将“调整大小比例”设置为 false 然后为图像设置自定义宽度来解决它

/* ADD LOGO */
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('Logo');
$objDrawing->setDescription('Logo');
$objDrawing->setPath('../images/logoexcel.png');
$objDrawing->setCoordinates('A1');
// set resize to false first
$objDrawing->setResizeProportional(false);
// set width later
$objDrawing->setWidth(45);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
$objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(35);
/* END LOGO */
Run Code Online (Sandbox Code Playgroud)


小智 -2

添加这个,可能会起作用

$objDrawing->setOffsetX(110);