分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

用phpExcel和tp5导出数据

发布时间:2023-09-06 01:59责任编辑:苏小强关键词:暂无标签

1.首先将下载phpexcel放入extend文件夹下面,引用文件时在前面加上\

2.查出需导出的数据装入数组

下面是代码

public function user(){
     //查询数据 ???????$user_table = ?Db::table(‘user_msg‘)->select(); ???????$show_table = array(); ???????foreach($user_table as $k=>$v){ ???????????$orderArr = Db::query("SELECT * from orders where user_id=‘{$v[‘user_id‘]}‘ limit 0,1"); ???????????if(!empty($orderArr)){ ???????????????//总价格表 ???????????????$total_price = Db::query("select sum(total_price) from (SELECT total_price FROM orders where user_id = ‘{$v[‘user_id‘]}‘) as newtable"); ???????????????// 用户最后一次消费表 ???????????????$last_time ??= Db::query("select create_time from orders WHERE user_id = ‘{$v[‘user_id‘]}‘ order by create_time desc limit 0,1 "); ???????????} ???????????// 用户的总价表 ???????????$show_table[$k][‘total_price‘] = !empty($orderArr)?$total_price[0][‘sum(total_price)‘]:false; ???????????$show_table[$k][‘last_time‘] ??= !empty($orderArr)?$last_time[0][‘create_time‘]:false; ???????????foreach ($v as $m=>$n) { ???????????????$show_table[$k][$m] = $n; ???????????} ???????} ???????//按价格对数组进行排序 ???????foreach($show_table as $a=>$b){ ???????????$show[] = $b[‘total_price‘];//价格存入一个数组 ???????} ???????array_multisort($show,SORT_DESC,$show_table);//对数组按照价格(total_price)进行排序 ???????//链接phpexcel.PHPExcel页 ???????import(‘phpexcel.PHPExcel‘, EXTEND_PATH); ???????//实例化PHPExcel()类 ???????$obj = new \PHPExcel(); ???????$objsheet = $obj->getActiveSheet();//获得当前活动sheet的操作对象 ???????$objsheet ->setTitle(‘用户列表‘);//给当前sheet设置名称     //设置表中数据 ???????//设置标题(按照表格的方式) ???????$objsheet ->setCellValue("A1",‘账号‘)->setCellValue("B1",‘昵称‘)->setCellValue(‘D1‘,‘创建时间‘)->setCellValue(‘E1‘,‘最近一次消费‘)->setCellValue("F1",‘总消费‘); ???????$j = 2; ???????//录入数据 ???????foreach($show_table as $k=>$v){ ???????????$objsheet ->setCellValue("A".$j,$v[‘user_id‘])->setCellValue("B".$j,$v[‘user_name‘])->setCellValue("C".$j,$v[‘tel‘])->setCellValue(‘D‘.$j,$v[‘create_time‘])->setCellValue(‘E‘.$j,$v[‘last_time‘])->setCellValue("F".$j,$v[‘total_price‘]); ???????????$j++; ???????} ???????//生成Excel文件 ???????$obj1 = \PHPExcel_IOFactory::createWriter($obj,‘Excel5‘); ???????$this->create(‘Excel5‘,‘用户列表.xls‘);//命名并生成文件下载,调用下面方法 ???????$obj1->save("php://output"); ???} ???//生成报表方法 ???function create($type,$file){ ???????if($type == "Excel5"){ ???????????header(‘Content-Type: application/vnd.ms-excel‘); ???????}else{ ???????????header(‘Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet‘); ???????} ???????header(‘Content-Disposition: attachment;filename = "‘.$file.‘"‘); ???????header(‘Cache-Control:max-age=0‘);//禁止缓存 ???}

用phpExcel和tp5导出数据

原文地址:https://www.cnblogs.com/notesbooks/p/9160225.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved