Skip to content

Commit 54805fa

Browse files
authored
Update Xlsx.php
Support Read Image in Cell
1 parent 4fc82f4 commit 54805fa

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

src/PhpSpreadsheet/Reader/Xlsx.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -940,6 +940,34 @@ protected function loadSpreadsheetFromFile(string $filename): Spreadsheet
940940

941941
break;
942942
case DataType::TYPE_ERROR:
943+
if (isset($cAttr->vm)) {
944+
$cell = $docSheet->getCell($r);
945+
if ($cell) {
946+
947+
$objDrawing = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing();
948+
$objDrawing->setName('');
949+
$objDrawing->setDescription('');
950+
$imagePath = 'xl/media/image' . $cAttr->vm . '.png';
951+
$objDrawing->setPath(
952+
'zip://' . File::realpath($filename) . '#' . $imagePath,
953+
false,
954+
$zip
955+
);
956+
957+
$objDrawing->setCoordinates($r);
958+
$objDrawing->setOffsetX(0);
959+
$objDrawing->setOffsetY(0);
960+
$objDrawing->setResizeProportional(false);
961+
$objDrawing->setWorksheet($docSheet);
962+
}
963+
964+
$value = $objDrawing;
965+
$cellDataType = DATATYPE::TYPE_NULL;
966+
$c->t = DATATYPE::TYPE_NULL;
967+
968+
break;
969+
}
970+
943971
if (!$useFormula) {
944972
$value = self::castToError($c);
945973
} else {

0 commit comments

Comments
 (0)