【问题标题】:phpspreadsheet: How to add some margin between a cell and the image?phpspreadsheet:如何在单元格和图像之间添加一些边距?
【发布时间】:2019-12-24 17:07:03
【问题描述】:

在单元格中插入图像时,它被插入到单元格的最左侧,我想添加一些边距,怎么做?

我尝试了很多东西,我不是第一个问这个问题的人,自从 PHPexcel 时代以来一直在问这个问题并且没有答案,我尝试了所有解决方案都无济于事,比如这个,它应该集中在单元格,它将文本居中而不是图像居中

function center(){
$styleArray = [
    'alignment' => [
        'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER,
        'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER,
    ],
];
return $styleArray;
}
$sheet->getStyle('B2')->applyFromArray(center()));

我不一定要让它居中,不管怎样,我需要的只是单元格和图像之间的一些边距。

【问题讨论】:

    标签: php phpexcel phpspreadsheet


    【解决方案1】:

    像这样使用setOffsetX

    $drawing = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing();
    $drawing->setWorksheet($spreadsheet->getActiveSheet());
    $drawing->setPath('../assets/img/logo.png');
    $drawing->setWidthAndHeight(158, 72);
    $drawing->setResizeProportional(true);
    
    $drawing->setOffsetX(10);    // this is how
    $drawing->setOffsetY(3);    // this is how
    

    【讨论】:

    • 我将图像插入到合并的单元格中。当我进行合并时,一切都变成了一列
    • 好的。其他简单的解决方案是在图像周围设置一个白色边框。还有绘图选项 setOffsetX 也许这就是你要找的。​​span>
    • 我编辑了您的答案,以阐明如何使用setOffsetX,使其成为我可以接受的有效答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-20
    • 1970-01-01
    • 2012-12-23
    • 2020-01-05
    相关资源
    最近更新 更多