php生成excel带图片格式,php导出excel单元格带图片显示方法

php生成excel带图片格式,php导出excel单元格带图片显示方法php 导出 excel 单元格带图片显示方法如下

php导出excel单元格带图片显示方法如下:

session_start();

set_time_limit(0);

header(“content-type:text/html; charset=utf-8”);

error_reporting(E_ALL ^ E_NOTICE);    //除了 E_NOTICE,报告其他所有错误,

这是在 php.ini 里的默认设置

@set_time_limit(1000);          //设置脚本最大执行时间为1000秒并忽略函数错误,

运用了@错误控制运算符

@date_default_timezone_set(“PRC”);  //设置时区

date_default_timezone_set(‘Asia/Shanghai’);

function test_input($data) {

$data=trim($data);

$data=stripslashes($data);

$data=htmlspecialchars($data);

return $data;

}

/*引入phpexcel核心类文件*/

include ‘Classes/PHPExcel.php’;

/*实例化excel类*/

$excel = new PHPExcel();

/*实例化excel图片处理类*/

$objDrawing = new PHPExcel_Worksheet_Drawing();

/*设置文本对齐方式*/

$excel->getDefaultStyle()->getAlignment()

->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$excel->getDefaultStyle()->getAlignment()

->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

//获得当前sheet对象

$objActSheet = $excel->getActiveSheet();

$excel->getActiveSheet()->setTitle(‘处理表’); //给当前活动sheet设置名称

//定义单元格列名

$letter = array(‘A’,’B’,’C’,’D’,’E’,’F’,’G’,’H’,’I’,’J’,’K’,’L’,’M’,’N’);

/*设置表头数据*/

$tableheader = array(‘姓名’, ‘性别’, ‘年龄’, ‘班级’, ‘头像’);

//给当前活动sheet填充数据,数据填充是按顺序一行一行填充的,

假如想给A1留空,可以直接setCellValue(‘A1’,’’);

// $excel->getActiveSheet()->setCellValue(‘A1’, ‘ID’)

//     ->setCellValue(‘B1’, ‘姓名’)

//     ->setCellValue(‘C1’, ‘手机号’)

//     ->setCellValue(‘D1’, ‘业务需求’)

//     ->setCellValue(‘E1’, ‘处理人姓名’)

//     ->setCellValue(‘F1’, ‘创建时间’)

//     ->setCellValue(‘G1’, ‘是否处理’)

// ;

/*填充表格表头*/

for($i = 0;$i 

$excel->getActiveSheet()->setCellValue(“$letter[$i]1″,”$tableheader[$i]”);

}

/*设置表格数据*/

$data = array(

array(‘小王’, ‘男’, ’20’, ‘CS12’, ‘PVC/HML55686.jpg’),

array(‘小李’, ‘女’, ’21’, ‘CS12’, ‘PVC/HML55686.jpg’),

array(‘小马’, ‘男’, ’22’, ‘CS12’, ‘PVC/HML55686.jpg’),

array(‘小赵’, ‘女’, ’23’, ‘CS12’, ‘PVC/HML55686.jpg’),

array(‘小张’, ‘男’, ’24’, ‘CS12’, ‘PVC/HML55686.jpg’)

);

/*填充表格内容*/

for ($i = 0;$i 

$j = $i + 2;

/*设置表格宽度*/

$objActSheet->getColumnDimension(“$letter[$i]”)->setWidth(20);

/*设置表格高度*/

$excel->getActiveSheet()->getRowDimension($j)->setRowHeight(100);

/*向每行单元格插入数据*/

for ($row = 0;$row 

if ($row == (count($data[$i]) -1 )) {

/*实例化插入图片类*/

$objDrawing = new PHPExcel_Worksheet_Drawing();

/*设置图片路径 切记:只能是本地图片*/

$objDrawing->setPath($data[$i][$row]);

/*默认是按原图像缩放,设置成false为不缩放*/

$objDrawing->setResizeProportional(false);

/*设置图片高度*/

$objDrawing->setWidth(140);

$objDrawing->setHeight(130);

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

$objDrawing->setCoordinates(“$letter[$row]$j”);

/*设置图片所在单元格的格式*/

$objDrawing->setOffsetX(0);

$objDrawing->setOffsetY(0);

$objDrawing->setWorksheet($excel->getActiveSheet());

continue;

}

$excel->getActiveSheet()->setCellValue(“$letter[$row]$j”,$data[$i][$row]);

}

}

/*实例化excel输入类并完成输出excel文件*/

$write = new PHPExcel_Writer_Excel5($excel);//按照指定格式生成Excel

文件,‘PHPExcel_Writer_Excel2007’表示生成2007版本的xlsx

header(“Pragma: public”);

header(“Expires: 0”);

header(“Cache-Control:must-revalidate, post-check=0, pre-check=0”);

header(“Content-Type:application/force-download”);

header(“Content-Type:application/vnd.ms-execl”);

header(“Content-Type:application/octet-stream”);

header(“Content-Type:application/download”);;

header(‘Content-Disposition:attachment;filename=”2019-8.xls”‘);

header(“Content-Transfer-Encoding:binary”);

$write->save(‘php://output’);

?>

注意:php读取excel表,这里采用了PHPExcel插件,可以去https://github.com/PHPOffice/PHPExcel下载插件即可配合上面代码使用。

【打印本页】

【关闭窗口】

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

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

(0)
上一篇 2026年3月19日 上午8:08
下一篇 2026年3月19日 上午8:09


相关推荐

  • 新研究:智能体以人类模式互动更高效

    新研究:智能体以人类模式互动更高效

    2026年3月12日
    3
  • iOS 13越狱:越狱后如何安装AppSync和afc2越狱补丁

    iOS 13越狱:越狱后如何安装AppSync和afc2越狱补丁iOS13越狱:越狱后如何安装AppSync和afc2越狱补丁?本文件转载自:https://news.tongbu.com/98644.html文章概要:越狱后必须安装的补丁:AppSync和afc2。越狱后如何安装AppSync和afc2越狱补丁?越狱虽然成功了,但如果不安装Appsync和afc2这两个重要的补丁,就无法享受越狱的功能哦。请按照如下教程提示,分别安装着这2个重要补丁。越狱教程:《iOS13越狱教程:unc0ver5.2.0更新发布,支持iOS13.5..

    2022年4月27日
    77
  • DeepLink的实现原理「建议收藏」

    DeepLink的实现原理「建议收藏」前言之前我们又是看源码又是研究动画,今天分享一个比较简单的技术点:DeepLink。DeepLink,深度链接技术,主要应用场景是通过Web页面直接调用Android原生app,并且把需要的参数通过Uri的形式,直接传递给app,节省用户的注册成本。简单的介绍DeepLink概念之后,我们看一个实际的例子:朋友通过京东分享给我一个购物链接:于是我通过微信打开了这条链接:…

    2022年6月23日
    68
  • copy与deepcopy的区别_clone和copy的区别

    copy与deepcopy的区别_clone和copy的区别最近在实习,boss给布置了一个python的小任务,学习过程中发现copy()和deepcopy()这对好基友实在是有点过分,一开始还相爱着呢,不知道怎么回事就开始相杀了。搞的博主就有点傻傻分不清啊,但是呢,本着一探到底的极客精神,还是要查资料搞清楚这对好基友的区别。其实呢,copy()与deepcopy()之间的区分必须要涉及到python对于数据的存储方式。首先直接上结论:

    2022年10月2日
    4
  • C递归算法详解

    C递归算法详解递归呢就是自己调用自己 在搜索文件夹下的文件和目录时也能用到 我这里就写一个简单的递归 代码如下 递归算法 参与计算的数值 计算结果 intGet inti if i 0

    2026年3月20日
    2
  • 简单易懂——Dijkstra算法讲解

    简单易懂——Dijkstra算法讲解赋权有向图或者无向图

    2026年3月16日
    3

发表回复

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

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