PHPSReadSheet,图纸尺寸不正确

PHPSReadSheet,图纸尺寸不正确,php,image,phpspreadsheet,Php,Image,Phpspreadsheet,将PHPSReadSheet插入xls文档时,它会中断图像大小 首先,我自动调整单元格大小: $spreadsheet->getActiveSheet()->getColumnDimension('A')->setAutoSize(true) 然后我插入一个图像: if (!empty($companyItem['logo']) && is_readable($logosPath . $companyItem['logo'])) { $logoSize = getimag

将PHPSReadSheet插入xls文档时,它会中断图像大小

首先,我自动调整单元格大小:

$spreadsheet->getActiveSheet()->getColumnDimension('A')->setAutoSize(true)

然后我插入一个图像:

if (!empty($companyItem['logo']) && is_readable($logosPath . $companyItem['logo'])) {
    $logoSize = getimagesize($logosPath . $companyItem['logo']);

    $def_w_of_j = $spreadsheet->getActiveSheet()->getColumnDimension('J')->getWidth();
    $curr_w_of_a = $spreadsheet->getActiveSheet()->getColumnDimension('A')->getWidth();

    $logo = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing();

    $logo->setName('Logo');
    $logo->setDescription('Logo');

    $logo->setPath($logosPath . $companyItem['logo']);
    $logo->setCoordinates('A1');
    $logo->setResizeProportional(true);
    $logo->setHeight($logoSize[1]);
    $logo->setWidth(intval($logoSize[0] * $def_w_of_j / $curr_w_of_a));

    $logo->setWorksheet($spreadsheet->getActiveSheet());
}
这里的“J”列是一个没有任何大小变化的原始列,我尝试计算比例以获得正确的图像宽度

但当我在这个视图中尝试这段代码时:

if (!empty($companyItem['logo']) && is_readable($logosPath . $companyItem['logo'])) {
    $logoSize = getimagesize($logosPath . $companyItem['logo']);

    $logo = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing();

    $logo->setPath($logosPath . $companyItem['logo']);
    $logo->setCoordinates('A1');

    $logo->setWorksheet($spreadsheet->getActiveSheet());
}
我还是弄错了宽度

宽度错误表示插入xls文档图像的宽度大于所需的宽度

有人知道答案吗