100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > php生成excel带图片格式 php导出excel单元格带图片显示方法

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

时间:2022-10-14 03:21:18

相关推荐

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');

functiontest_input($data){

$data=trim($data);

$data=stripslashes($data);

$data=htmlspecialchars($data);

return$data;

}

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

include'Classes/PHPExcel.php';

/*实例化excel类*/

$excel=newPHPExcel();

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

$objDrawing=newPHPExcel_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=newPHPExcel_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=newPHPExcel_Writer_Excel5($excel);//按照指定格式生成Excel

文件,‘PHPExcel_Writer_Excel’表示生成版本的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="-8.xls"');

header("Content-Transfer-Encoding:binary");

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

?>

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

【打印本页】

【关闭窗口】

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。