php生成excel带图片格式,php导出excel单元格带图片显示方法
php导出excel单元格带图片显示方法如下:<?php
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下载插件即可配合上面代码使用。
【打印本页】
【关闭窗口】
php生成excel带图片格式,php导出excel单元格带图片显示方法相关推荐
- 懒人小工具1:winform自动生成Model,Insert,Select,Delete以及导出Excel的方法
懒人小工具2:T4自动生成Model,Insert,Select,Delete以及导出Excel的方法 github地址:https://github.com/Jimmey-Jiang/J ...
- WCF医院管理系统技术解析(十一)医生体检收入查询(带一定判断的导出Excel)
WCF医院管理系统技术解析(十一)医生体检收入查询(带一定判断的导出Excel) 医院支持对各个科室的体检收入,同时也可以查询到每个体检科室收入的审核医生.效果如图所示: 界面用到的控件有: 控件 说 ...
- java实现excel导出合并单元格
随着数据的不断增长,很多时候需要将数据导出到Excel中进行分析.处理和展示.而Java作为一种流行的编程语言,自然也提供了很多实现Excel导出的方法.本文将介绍如何使用Java实现Excel导出, ...
- Excel催化剂开源第15波-VSTO开发之DataTable数据导出至单元格区域
上篇提到如何从Excel界面上拿到用户的数据,另外反方向的怎样输出给用户数据,也是关键之处. VSTO最大的优势是,这双向的过程中,全程有用户的交互操作. 而一般IT型的程序,都是脱离用户的操作,只能 ...
- java 导入excel工具类_java Excel工具类,导入导出Excel数据
java Excel工具类,导入导出Excel数据,导入数据对合并表格有判断获取数据: 导出数据到Excel,Excel文件不存在会创建. 使用的是poi处理,兼容Excel. 对反射不够理解,目前先 ...
- Web中的EasyExcel导出Excel(不创建对象且自定义合并单元格策略)
Web中的EasyExcel导出Excel(不创建对象且自定义合并单元格策略) 适用于多张表(只查单表数据就用创建对象那种方法) Controller @RequestMapping(value = ...
- html table转excel单元格带背景颜色
html table转excel单元格带背景颜色 在浏览器端将html的table转成Excel,可以参考下面的库 https://github.com/JackGit/table2excel.js ...
- Excel单元格插入图片并实现单击放大或缩小功能(含VBA代码)
文章目录 0 引言 1 提前准备VBA代码 1.1 ThisWorkbook的代码: 1.2 模块的代码: 2 设置步骤 2.1 VBA代码设置单元格 2.2 插入图片到单元格 2.3 以启用宏的方式 ...
- java excel 0没了,解决导出Excel后0丢失的问题
需求背景 1.报表中的0.XXX导出Excel后0丢失,变成了.XXX,如0.5变成.5: 2.报表数据集中数据有存在空和0的数据,在报表显示的时候要求空值不显示,0值显示0,当前都显示为0: 3.横 ...
- c#后台如何导出excel到本地_C#实现导出Excel
这段时间用到了导出Excel的功能,这个功能还是比较常用的,我常用的有两个方法,现在整理一下,方便以后查看. 一.实现DataTable数据导出到本地,需要自己传进去导出的路径. /// /// Da ...
最新文章
- XXL-JOB v2.0.2,分布式任务调度平台
- CAD2009软件安装资料及教程
- 使用匿名函数和内嵌函数处理多变量传递问题
- AndFix解析——(下)
- java数组拼字符串_java数组、字符串拼接
- 大话数据结构22:几种常见的静态查找算法
- sqlserver的登陆操作
- [eclipse]Syntax error on token ;,{ expected after this token
- (6)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- AOP框架
- 中兴的芯片,到底什么水平?
- shell脚本的学习(二)
- 如何:在 Windows 窗体 ListView 控件中启用平铺视图 【转载】
- 博客美化---(1)
- mysql select 返回列_mySQL – 使用select返回多行来更新多个列
- 在阿里云服务器网站添加子域名无法访问的处理
- html 转盘抽奖开发,html 大转盘抽奖
- Nuke对图片添加Alpha通道
- 依赖多个项目,重复jar包不同版本冲突解决
- 手机便签软件哪个好用 手机便签软件推荐
- JVM的Metaspace,JAVA8以前是Permanent Area
热门文章
- Geoda空间自相关分析—局部Moran‘I指数(运用GeoDa制作Lisa图)
- 台式机前置耳机插孔没声音(window7系统设置)
- 人口各省预测模型matlab_流体力学/医学学科交叉:感染人口预测模型
- 运筹系列77:开源线性规划软件clp使用简介
- 【数学建模】第一讲-层次分析法
- 机外码、区位码、国标码、机内码
- java 电子时钟_Java电子时钟实现代码
- 冰河木马学习之监听服务端失败
- 博文视点架构师成长书单,5本书助你少走弯路
- ddpush java_DDPush-任意门消息推送-开源推送服务器-推送-消息推送-信息推送-物联网推送...