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单元格带图片显示方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python如何生成windows可执行
- 下一篇: 动态规划算法php,php算法学习之动态