要使用PHP的PHPExcel庫(現在稱為PhpSpreadsheet)在Excel文件中插入圖片,請按照以下步驟操作:
composer require phpoffice/phpspreadsheet
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet = new Spreadsheet();
$writer = new Xlsx($spreadsheet);
$sheet = $spreadsheet->getActiveSheet();
$imagePath = 'path/to/your/image.png';
getImageResource()
方法從路徑獲取圖片資源,然后使用getImageData()
方法獲取圖片數據:$imageResource = imagecreatefrompng($imagePath);
$imageData = image_get_data($imageResource);
PhpOffice\PhpSpreadsheet\Drawing\Image
類創建一個新的圖片對象,并設置圖片的屬性:$drawing = new \PhpOffice\PhpSpreadsheet\Drawing\Image($imageResource);
$drawing->setMimeType(\PhpOffice\PhpSpreadsheet\Drawing\Image::MIME_PNG);
$drawing->setPath($imagePath);
$drawing->setHeight(40); // 設置圖片高度
$drawing->setWidth(40); // 設置圖片寬度
$drawing->setCoordinates('A1'); // 設置圖片的位置(單元格A1)
$drawing->setOffsetX(10); // 設置圖片的偏移量
$drawing->setOffsetY(10);
$sheet->addImage($drawing, 'A1');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="image_example.xlsx"');
header('Cache-Control: max-age=0');
$writer->save('php://output');
exit;
將以上代碼片段組合在一起,即可實現在Excel文件中插入圖片的功能。根據需要調整圖片的路徑、大小和位置。