如何使用PHPSpreadSheet将图片上传至电子表格单元格内
问题解答
PHPSpreadSheet完全支持将完整图片直接嵌入Excel电子表格,无需依赖外部图片链接,你在官方文档中查到的drawing相关功能就是对应图片嵌入的能力,该功能会将图片的二进制内容直接打包进生成的Excel文件中,即使源图片删除、文件转移到其他设备打开,插入的图片也可以正常显示。
基础嵌入示例代码
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing; // 实例化图片对象 $drawing = new Drawing(); // 设置本地图片路径,传入本地文件路径默认即为嵌入模式,不会生成外部链接 $drawing->setPath('/your/local/image/path.jpg'); // 设置图片要插入的单元格位置,对应单元格左上角 $drawing->setCoordinates('A1'); // 可选:设置图片宽度(单位为像素) $drawing->setWidth(120); // 可选:开启宽高比例自动保持,避免图片拉伸变形 $drawing->setResizeProportional(true); // 将图片绑定到已实例化的工作表对象 $sheet $drawing->setWorksheet($sheet);
常见注意点
- 支持JPG、PNG、GIF等主流图片格式嵌入
- 若需要调整图片相对单元格的偏移量,可以调用
setOffsetX()和setOffsetY()方法设置横向、纵向偏移像素值 - 如需在同一工作表插入多张图片,重复实例化
Drawing对象完成配置后绑定到工作表即可
内容的提问来源于stack exchange,提问作者Mikael Diak
相关产品推荐
相关产品推荐

