Я использую 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());
}
}