要使用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文件中插入图片的功能。根据需要调整图片的路径、大小和位置。