1.在下载好的tp5.0 框架里面使用 composer 下载phpexcel 的插件
composer require phpoffice/phpexcel
在下载好之后需要将/vendor/phpoffice/phpexcel/classes/phpexcel/ole.php 里面的continue 改为break;
2.在框架里面创建使用phpexcel 导出方法
引入相应的类
use PHPExcel_IOFactory;
use PHPExcel;
1 public function export()
2 {
3 //1.从数据库中取出数据
4 $list = Admins::where('login_status', 0)->order('id', 'desc')->column('id,username,phone,create_time');
5 $list = array_values($list);
6 //3.实例化PHPExcel类
7 $objPHPExcel = new \PHPExcel();
8 //4.激活当前的sheet表
9 $objPHPExcel->setActiveSheetIndex(0);
10 //5.设置表格头(即excel表格的第一行)
11 $objPHPExcel->setActiveSheetIndex(0)
12 ->setCellValue('A1', 'ID')
13 ->setCellValue('B1', '用户名')
14 ->setCellValue('C1', '手机号码')
15 ->setCellValue('D1', '创建时间');
16 //设置B列水平居中
17 $objPHPExcel->setActiveSheetIndex(0)->getStyle('B')->getAlignment()
18 ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
19 //设置单元格宽度
20 $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('E')->setWidth(15);
21 $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('F')->setWidth(30);
22 //6.循环刚取出来的数组,将数据逐一添加到excel表格。
23 for($i=0;$i<count($list);$i++){
24 $objPHPExcel->getActiveSheet()->setCellValue('A'.($i+2),$list[$i]['id']);//添加ID
25 $objPHPExcel->getActiveSheet()->setCellValue('B'.($i+2),$list[$i]['username']);//添加用户名
26 $objPHPExcel->getActiveSheet()->setCellValue('C'.($i+2),$list[$i]['phone']);//添加手机号码
27 $objPHPExcel->getActiveSheet()->setCellValue('D'.($i+2),$list[$i]['create_time']);//添加创建时间
28 }
29 //7.设置保存的Excel表格名称
30 $filename = '管理员'.date('ymd',time()).'.xls';
31 //8.设置当前激活的sheet表格名称;
32 $objPHPExcel->getActiveSheet()->setTitle('管理员列表');
33 //9.设置浏览器窗口下载表格
34 header("Content-Type: application/force-download");
35 header("Content-Type: application/octet-stream");
36 header("Content-Type: application/download");
37 header('Content-Disposition:inline;filename="'.$filename.'"');
38 //生成excel文件
39 $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
40 //下载文件在浏览器窗口
41 $objWriter->save('php://output');
42 exit;
43 }
3.这里面的excel 的格式是定式的 ,如果表字段比较多的话可以创建数组循环设置