require('../vendor/PHPExcel/PHPExcel.php'); require('../vendor/PHPExcel/PHPExcel/Writer/Excel5.php'); //thinkphp 需要加'\' $excel = new \PHPExcel(); //Excel表格式,这里简略写了4列,按实际情况设置 $letter = array('A', 'B', "C", "D"); //表头数组 对应$letter $tableheader = array('编号', '分类', '邀请码', '生成日期'); //填充表头信息 for ($a = 0; $a < count($tableheader); $a++) { $excel->getActiveSheet()->setCellValue("$letter[$a]1", "$tableheader[$a]"); } //lists数据来源 数组格式 字段数量需对应$letter for ($b = 2; $b <= count($lists) + 1; $b++) { $j = 0; foreach ($lists[$b - 2] as $key => $value) { $excel->getActiveSheet()->setCellValue("$letter[$j]$b", $value); $j++; } } //导出excel文件名 $name = '2020'; //创建Excel输入对象 $write = new \PHPExcel_Writer_Excel5($excel); //清除缓冲区,避免乱码 ob_end_clean(); 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-excel'); header('Content-Type:application/octet-stream'); header('Content-Type:application/download'); header('Content-Transfer-Encoding:binary'); header("Content-Disposition:attachment;filename=" . $name . ".xls"); $write->save('php://output'); exit;
注意:PHP7版本需要删除vendor/PHPExcel/PHPExcel/Calculation/Functions.php LINE: 576 的 'break'