Добавить удаленные изображения в ячейку PhpSpreadseet - PullRequest
0 голосов
/ 02 марта 2020

На сайте есть простая таблица из двух столбцов: название продукта и изображение продукта. Это очень легко сделать в HTML. Задачей будет создание файла Xlsx с этими столбцами. Изображения не хранятся локально, но все они являются удаленными изображениями с полным URL. Экспорт содержит ~ 100-200 строк.

Я пытался создать ресурс с помощью imagecreatefromjpeg и добавить его с помощью MemoryDrawing, но он занял огромное количество ресурсов. Я попытался с помощью Html toRichTextObject помощника и простого тега, но получил пустой результат.

Как можно добавить удаленное изображение в ячейку PhpSpreadsheet? Не требуется работать в автономном режиме, нормально загружать удаленные изображения при открытии файла.

Ответы [ 2 ]

0 голосов
/ 04 марта 2020

Вот пример, как добавить изображение в ваш экспорт в 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());
0 голосов
/ 02 марта 2020

Указание координат для изображения может помочь, согласно примерам и документации

$objDrawing->setCoordinates('A3');

Обратите внимание, что изображение не находится в ячейке / столбце / строке, а наложено поверх основного листа на та же позиция, что и в этой ячейке / столбце / строке

...