Правильное выравнивание изображения PHPExcel

Я пытаюсь выровнять изображение с помощью PHPExcel, но я не могу, потому что изображение наложено над листом.

// Create new picture object $objDrawing = new PHPExcel_Worksheet_Drawing(); $objDrawing->setPath('my_img.jpg'); // Insert picture $objDrawing->setCoordinates('A1'); $objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); // Style cell $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); 

Текстовое выравнивание A1 изменяется вправо, но изображение все равно выравнивается слева.

Вот идея:

Вы должны определить максимальную ширину / высоту (путем экспериментирования). Сохраните значения.

 // Logo $maxWidth = 700; $maxHeight = 40; 

Вот остальная часть кода:

 $objDrawing = new PHPExcel_Worksheet_Drawing(); $objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); $objDrawing->setName("Logo"); $objDrawing->setDescription("Company Logo"); $objDrawing->setPath('logo.png'); $objDrawing->setCoordinates('A1'); $objDrawing->setHeight($maxHeight); // This is the "magic" formula $offsetX =$maxWidth - $objDrawing->getWidth(); $objDrawing->setOffsetX($offsetX); 

Надеюсь это поможет.

Задайте высоту строки вручную

 $objPHPExcel->getActiveSheet()->getRowDimension($index)->setRowHeight(100); 

$index – номер строки.