phpexcel导出图片
来源:互联网 发布:广州多益网络 徐波 编辑:程序博客网 时间:2024/05/19 09:09
上次项目中用到了phpexcel库导出excel文件,昨天下午,变态的客户要求将图片也要导出到excel表格中,查了半天资料,也查不出个所以然...就这简单的小功能摸索了整整一个下午才搞定,上午没事就重新写了个小demo,分享出来,希望能帮助到大家。
1.如果还没有使用过phpexcel的童鞋,先把这篇文章看一下,熟悉一下phpexcel的下载配置等,本文主要介绍插入图片;
phpexcel基础文章:
http://jingyan.baidu.com/article/915fc414f4c2e451384b205c.html
2.下面直接开始上代码吧,废话就不多说了,感觉自己写的注释还算可以,大家稍微看下都能明白的,嗯^_^;
<?php
/*引入phpexcel核心类文件*/
include '/phpexcel/PHPExcel.php';
/*实例化excel类*/
$excel = new PHPExcel();
/*实例化excel图片处理类*/
$objDrawing = new PHPExcel_Worksheet_Drawing();
3.
/*设置文本对齐方式*/
$excel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$excel->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objActSheet = $excel->getActiveSheet();
$letter = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N');
/*设置表头数据*/
$tableheader = array('姓名', '性别', '年龄', '班级', '头像');
/*填充表格表头*/
for($i = 0;$i < count($tableheader);$i++) {
$excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
}
4.
/*设置表格数据*/
$data = array(
array('小王', '男', '20', 'CS12', 'test.jpg'),
array('小李', '女', '21', 'CS12', 'test.jpg'),
array('小周', '男', '22', 'CS12', 'test.jpg'),
array('小赵', '女', '23', 'CS12', 'test.jpg'),
array('小张', '男', '24', 'CS12', 'test.jpg')
);
5.
/*填充表格内容*/
for ($i = 0;$i < count($data);$i++) {
$j = $i + 2;
/*设置表格宽度*/
$objActSheet->getColumnDimension("$letter[$i]")->setWidth(20);
/*设置表格高度*/
$excel->getActiveSheet()->getRowDimension($j)->setRowHeight(100);
/*向每行单元格插入数据*/
for ($row = 0;$row < count($data[$i]);$row++) {
if ($row == (count($data[$i]) -1 )) {
/*实例化插入图片类*/
$objDrawing = new PHPExcel_Worksheet_Drawing();
/*设置图片路径 切记:只能是本地图片*/
$objDrawing->setPath($data[$i][$row]);
/*设置图片高度*/
$objDrawing->setHeight(100);
/*设置图片要插入的单元格*/
$objDrawing->setCoordinates("$letter[$row]$j");
/*设置图片所在单元格的格式*/
$objDrawing->setOffsetX(80);
$objDrawing->setRotation(20);
$objDrawing->getShadow()->setVisible(true);
$objDrawing->getShadow()->setDirection(50);
$objDrawing->setWorksheet($excel->getActiveSheet());
continue;
}
$excel->getActiveSheet()->setCellValue("$letter[$row]$j","111");
}
}
6.
/*实例化excel输入类并完成输出excel文件*/
$write = new PHPExcel_Writer_Excel5($excel);
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="测试文件.xls"');
header("Content-Transfer-Encoding:binary");
$write->save('php://output');
7.下面是结果:看完之后大家可能觉得美中不足的是图片没有上下居中,其实这个问题我查了一个多小时资料之后也没查到啥方法,于是乎放弃了,如果大家查到了相关的文档,希望可以分享到评论里边,帮助别人,快乐自己!
8.一点小补充:图片必须为本地图片,这里的本地指的是你服务器,如果看页面的源码不爽的话,我把源文件分享到了云盘,地址如下:
http://pan.baidu.com/s/1ntNYGsh
文章来源:http://jingyan.baidu.com/article/4f7d5712aea37f1a201927d7.html
- phpexcel导出图片
- PHPEXCEL 导出数据加图片
- PHPExcel导出类(列数超过Z,导出图片)
- phpexcel 导出
- PHPExcel 导出
- PHPExcel导出
- PHPExcel导出
- PHPExcel导出
- phpExcel 导出
- PHPExcel导出
- phpexcel导出
- phpexcel导出
- phpExcel导出
- phpExcel导出excel加超级链接和图片的实例代码
- php使用phpexcel生成excel包含图片并导出
- phpexcel导出excel文件
- PHPExcel导出excel
- PHPexcel导出excel文件
- windows常用消息大全(系统消息、通告消息、用户消息)
- SendMessage 函数参数大全
- Dreamweaver CS 5 快捷键大全
- HDU 2054 A==B?
- nginx配置虚拟域名
- phpexcel导出图片
- hdu 2047 阿牛的EOF牛肉串
- centos安装redis3.0及phpredis扩展使用
- Windows使用mklink建立“符号链接”
- hdu 1160 FatMouse's Speed(LIS)
- Android内存泄漏的8种可能
- lis算法解析
- java--基础----HashSet保证元素的唯一性
- centos完美搭建redis3.0集群并附测试