PHP Excel表格导出图片方法,PHPExcel导出图片到单元格

PHP Excel表格导出图片方法,PHPExcel导出图片到单元格objDrawing new PHPExcel Worksheet MemoryDrawin value sku picture this gt url value sku picture img info getimagesize value sku picture suffix info explode img inf

$objDrawing = new \PHPExcel_Worksheet_MemoryDrawing();

$value[‘sku_picture’] = $this->url . $value[‘sku_picture’];

$img_info = getimagesize($value[‘sku_picture’]);

$suffix_info = explode(‘/’, $img_info[‘mime’]);

$extname = $suffix_info[1];

# 图片写入

$objDrawImageResource = ”;

if ($extname == ‘jpg’ || $extname == ‘jpeg’ || $extname == ‘JPG’ || $extname == ‘JPEG’) {

$objDrawImageResource = @imagecreatefromjpeg($value[‘sku_picture’]);

} else if ($extname == ‘png’ || $extname == ‘PNG’) {

$objDrawImageResource = @imagecreatefrompng($value[‘sku_picture’]);

} else if ($extname == ‘gif’ || $extname == ‘GIF’) {

$objDrawImageResource = @imagecreatefromgif($value[‘sku_picture’]);

} else {

$objPHPExcel->setActiveSheetIndex(0)->setCellValue(‘D’ . $num, $extname . ‘格式图片无法导出’);

}

if ($objDrawImageResource && ($objDrawImageResource != $extname . ‘格式图片无法导出’)) {

$objDrawing->setImageResource($objDrawImageResource);

$objDrawing->setRenderingFunction(\PHPExcel_Worksheet_MemoryDrawing::RENDERING_DEFAULT); //渲染方法

$objDrawing->setMimeType(\PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);

// 设置宽度高度

$objDrawing->setHeight(150); //照片高度

$objDrawing->setWidth(145); //照片宽度

// 设置图片要插入的单元格

$objDrawing->setCoordinates(‘D’ . $num);

// 图片偏移距离

$objDrawing->setOffsetX(15);

$objDrawing->setOffsetY(15);

$objDrawing->setWorksheet($objPHPExcel->getActiveSheet(0));

$objPHPExcel->getActiveSheet()->getRowDimension($num)->setRowHeight(160);

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214379.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午4:24
下一篇 2026年3月18日 下午4:24


相关推荐

  • 全排列 leetcode_8的全排列

    全排列 leetcode_8的全排列给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入:[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]classSolution:defpermute(self,nums):res=[]defbackt…

    2026年2月4日
    7
  • 大数据教程,大数据学习线路图

    大数据教程,大数据学习线路图前言先引用一下马云大大的话:很多人还没搞清楚什么是PC互联网,移动互联网来了,我们还没搞清楚移动互联的时候,大数据时代又来了。马云深度解析大数据“大数据”是近年来IT行业的热词,并广泛的应用在各行各业。特别是近年来随着社交网络、物联网、云计算以及多种传感器的广泛应用,以数量庞大,种类众多,时效性强为特征的非结构化的数据不断涌现,数据的重要性愈发凸显,传统的数据存储、分析技术难以实时处…

    2022年5月22日
    72
  • Error:Execution failed for task ‘:app:greendao’. >

    Error:Execution failed for task ‘:app:greendao’. >

    2021年9月30日
    50
  • 链表的基本操作_简单链表

    链表的基本操作_简单链表链表的基本操作这里写目录标题链表的基本操作一:单链表的基础知识二:单链表的建立头插法尾插法三:单链表的遍历四:单链表结点数目判断五:单链表的插入链表头插入任意结点插入链表尾部插入六:单链表的删除七:单链表的查询一:单链表的基础知识为什么需要链表?我们在使用数组存放数据是非常方便,但是由于数组的长度是固定的,所以当存储不同的元素数量时,就很容易出现问题。如果向数组中添加的数量大于数组大小时候,信息无法完全被保存。所以我们需要另一种存储方式来存储数据,其中存储的元素的个数不受限制。这种存储方式就是链

    2025年6月20日
    5
  • Antd的table筛选,表头columns的filters过滤清空

    Antd的table筛选,表头columns的filters过滤清空Form+Table实现了自定义筛选菜单的功能。具体可以参考https://ant.design/components/table-cn/#components-table-demo-custom-filter-panel。但是此功能会有bug:选择相应的搜索条件后,点击“搜索”按钮,Table会渲染相应的数据,且Table表头也有自带的过滤功能(实际上是column的filters属性起的作用);然后再点击“清除”按钮,所有的搜索条件和表头里filters过滤的条件都要被清除。但是Ta.

    2022年5月21日
    51
  • 40+个精选的VSCode前端插件,总有一款适合你

    40+个精选的VSCode前端插件,总有一款适合你有句话,事半功倍,其必然是借助了某些思想和工具。VSCode是我们前端开发的武器,本文40+精选插件,让其更加锋利,无坚不摧!!必备的下面这些必备的我就不说了代码段JavaScript\…

    2022年7月25日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号