Thinkphp5 做PHPexcel 图片导出
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Thinkphp5 做PHPexcel 图片导出,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3061字,纯文字阅读大概需要5分钟。
内容图文
![Thinkphp5 做PHPexcel 图片导出](/upload/InfoBanner/zyjiaocheng/602/5e94290369364f91a68c01ba53e3cebd.jpg)
控制器层:
public function index(){
if(isset($param['export']) && $param['export'] == 1 ){ // EXCEL 导出
$list2 = $GoodsProductModel->getExcelList($condition);
foreach($list2 as $key => $val){
$list2[$key]['platform'] = is_platform($list2[$key]['platform']);
$list2[$key]['user_commission'] = is_commission($list2[$key]['commission_type'],$list2[$key]['commission'],$list2[$key]['post_price']);
}
$header = [
'A' => ['post_title', '商品名称'],
'B' => ['type_name', '商品分类'],
'C' => ['post_price', '商品价格(元)'],
'D' => ['user_commission', '商品佣金(元/件)'],
'E' => ['platform', '可上平台'],
'F' => ['create_time', '上架时间'],
'G' => ['thumb', '缩略图']
];
$fileName = '商品明细'.date('Y-m-d').rand(0,100);
$this->excel($header, $list2, $fileName); // Excel 导出,在公共方法中
}
}
// Excel 导出
function excel($header,$list,$fileName){
// 引入 Excel 表格插件
import('PHPExcel.Classes.PHPExcel');
import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');
$PHPExcel = new \PHPExcel();
$PHPSheet = $PHPExcel->getActiveSheet();
// 设置表格宽度
$PHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(35);
$PHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15);
$PHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15);
$PHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
$PHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);
$PHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(25);
$PHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(15);
// 设置表格高度
$PHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(30); //第一行行高
// 第一行加粗
$PHPExcel->getActiveSheet()->getStyle('A1:G1')->getFont()->setBold(true);
// 设置字体
$PHPExcel->getDefaultStyle()->getFont()->setName('微软雅黑'); //字体
foreach ($list as $k => $v) {
foreach ($header as $key => $value) { // $key 最大值为6
if ($k == 0) {
$PHPSheet->setCellValue($key.'1', end($value));
}
$objDrawing = new \PHPExcel_Worksheet_Drawing();
$i = $k + 2;
$PHPExcel->getActiveSheet()->getRowDimension($i)->setRowHeight(45);
if($key == 'G'){
$objDrawing->setPath('./public/uploads/image/' . $v['thumb']);//这里拼接 . 是因为要在根目录下获取
// 设置宽度高度
$objDrawing->setHeight(50); //照片高度
$objDrawing->setWidth(50); //照片宽度
/* 设置图片要插入的单元格 */
$objDrawing->setCoordinates($key.$i, $v[reset($value)]);
// 图片偏移距离
$objDrawing->setOffsetX(5);
$objDrawing->setOffsetY(5);
$objDrawing->setWorksheet($PHPExcel->getActiveSheet());
}else{
$PHPSheet->setCellValue($key.$i, $v[reset($value)]);
}
}
}
$PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel,"Excel2007");
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='.$fileName.'.xlsx');
header("Content-Transfer-Encoding:binary");
$PHPWriter->save("php://output");
}
内容总结
以上是互联网集市为您收集整理的Thinkphp5 做PHPexcel 图片导出全部内容,希望文章能够帮你解决Thinkphp5 做PHPexcel 图片导出所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。