$excel = new \PHPExcel(); $excel->setActiveSheetIndex(0); $letter = []; $i = 'A'; for ($n=0; $n<26; $n++) { $letter[$n] = $i++; } $array = $_GET['post']; $array = json_decode($array);//$array是要保存的数据 $name = $_GET['month']; $data = []; $tableheader = []; $result = []; foreach ($array as $k => $v){ if($k =='data') { foreach($v as $kk=>$vv){ $tableheader[] = $kk; foreach ($vv as $ke => $va) { $result[$ke][] = $va; } } foreach ($result as $key => $value) { array_unshift($value,$key); $data[] = $value; } } } array_unshift($tableheader, '时间'); for($i = 0;$i < count($tableheader);$i++) { $excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]"); } for ($i = 2;$i <= count($data) + 1;$i++) { $j = 0; foreach ($data[$i - 2] as $key=>$value) { $excel->getActiveSheet()->setCellValue("$letter[$j]$i","$value"); $j++; } } //创建Excel输入对象$write = \PHPExcel_IOFactory::createWriter($excel, 'Excel5'); $filename = iconv("utf-8","gb2312","('$name')表名.xls");//避免出现乱码 //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-execl");header("Content-Type:application/octet-stream");header("Content-Type:application/download");;header('Content-Disposition:attachment;filename="'.$filename.'"');header("Content-Transfer-Encoding:binary");$write->save('php://output');