将远程图像添加到 PhpSpreadsheet 单元格

Add remote images to PhpSpreadseet cell

网站上有一个简单的两栏 table:产品名称和产品图片。在 HTML 中渲染非常容易。 该任务将创建一个包含这些列的 Xlsx 文件。 图片没有保存在本地,都是远程图片,满URL。 导出包含 ~100-200 行。

我尝试使用 imagecreatefromjpeg 创建资源并使用 MemoryDrawing 添加它,但它占用了大量资源。 我尝试使用 Html 助手的 toRichTextObject 和一个简单的标签,但结果为空。

如何将远程图像添加到 PhpSpreadsheet 单元格?它不需要离线工作,打开文件时加载远程图像就可以了。

根据示例和文档指定图像的坐标可能会有所帮助

$objDrawing->setCoordinates('A3');

请注意,图片不在 cell/column/row 中,而是覆盖在主 sheet 上与 cell/column/row

相同的位置

有一个如何将图像添加到 excel 导出的示例:

$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();

$drawing = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing();
$drawing->setName('Paid');
$drawing->setDescription('Paid');
$drawing->setPath('/images/image-1.png'); // put your path and image here
$drawing->setHeight(30);
$drawing->setCoordinates('A5');
$drawing->setOffsetX(110);
$drawing->setRotation(25);
$drawing->getShadow()->setVisible(true);
$drawing->getShadow()->setDirection(45);
$drawing->setWorksheet($spreadsheet->getActiveSheet());