Coulmn, в который встроено изображение, изменяет размер при открытии в Windows для Excel (PHPExcel) - PullRequest
0 голосов
/ 18 марта 2020

Я использую PHPExcel для создания моего листа Excel.

Excel открывается очень хорошо на машине с Ubuntu, но когда тот же лист Excel открывается на листах Google или на любой машине Windows, тогда размер столбца, в который встроены мои изображения, изменяется. Все остальные столбцы сохраняют свой размер.

Ниже приведен мой код для встраивания изображения в ячейку Excel: -

$oCell = $sheet ->getCell('B'.$mainCounter);
        $oCell->setValue('');
        $imageName = downloadImage($product_detail['img'], $product_detail['sku']);

        if(!empty($imageName)){

            $objDrawing = new PHPExcel_Worksheet_Drawing();

            if(mime_content_type(__DIR__."/images/".$imageName.".webp")=="image/webp") {
                $im = imagecreatefromwebp(__DIR__."/images/".$imageName.".webp");

                imagejpeg($im, __DIR__."/images/".$imageName.".jpg", 100);
                if(file_exists(__DIR__."/images/".$imageName.".jpg")) {

                // imagejpeg($im, __DIR__."/images/".$imageName.".jpg", 100);
                    $objDrawing->setPath( __DIR__."/images/".$imageName.".jpg");
                }

                $objDrawing->setWidth(216);
                $objDrawing->setHeight(324);
                $objDrawing->setOffsetX(7);
                $objDrawing->setOffsetY(7);
                $objDrawing->setCoordinates($oCell->getCoordinate());
                $objDrawing->setWorksheet($phpExcel->getActiveSheet());
            }
            else if(mime_content_type(__DIR__."/images/".$imageName.".jpg")=="image/jpeg") {

                if(file_exists(__DIR__."/images/".$imageName.".jpg")) {

                    // imagejpeg($im, __DIR__."/images/".$imageName.".jpg", 100);
                    $objDrawing->setPath( __DIR__."/images/".$imageName.".jpg");
                }

                $objDrawing->setWidth(216);
                $objDrawing->setHeight(324);
                $objDrawing->setOffsetX(7);
                $objDrawing->setOffsetY(7);
                $objDrawing->setCoordinates($oCell->getCoordinate());
                $objDrawing->setWorksheet($phpExcel->getActiveSheet());
            }
        }
...