/** * 处理表单导出成表格 */ public function excel_handle($a = 2) { require_once \'vendor/PHPExcel/PHPExcel.php\'; $PHPExcel = new \PHPExcel(); //实例化PHPExcel类,类似于在桌面上新建一个Excel表格 $PHPSheet = $PHPExcel->getActiveSheet(); //获得当前活动sheet的操作对象 $PHPSheet->setTitle(\'处理表\'); //给当前活动sheet设置名称 //表头 //给当前活动sheet填充数据,数据填充是按顺序一行一行填充的,假如想给A1留空,可以直接setCellValue(‘A1’,’’); $PHPSheet->setCellValue(\'A1\', \'ID\') ->setCellValue(\'B1\', \'姓名\') ->setCellValue(\'C1\', \'手机号\') ->setCellValue(\'D1\', \'业务需求\') ->setCellValue(\'E1\', \'处理人姓名\') ->setCellValue(\'F1\', \'创建时间\') ->setCellValue(\'G1\', \'是否处理\') ; $order = D(\'Site/Handle\') ->alias(\'h\') ->join(\'LEFT JOIN ly_site_category AS c ON FIND_IN_SET(c.id,h.cid)\') ->join(\'LEFT JOIN ly_admin_user AS u ON u.id = h.uid\') ->group(\'h.id\') ->field(\'h.id,h.username,h.mobile,group_concat(distinct c.title SEPARATOR " | ") as c_title,u.username as uusername, h.create_time as create_time,is_handle\') ->select(); $list = array( \'0\' => \'待处理\', \'1\' => \'已处理\', ); foreach ($order as $k1 => $v1) { $cell = $k1 + 2; if ($v1[\'is_handle\']){ $v1[\'is_handle\'] = \'已处理\'; } else { $v1[\'is_handle\'] = \'待处理\'; } $PHPSheet->setCellValue(\'A\' . $cell, $v1[\'id\']) ->setCellValue(\'B\' . $cell, $v1[\'username\']) ->setCellValue(\'C\' . $cell, $v1[\'mobile\']) ->setCellValue(\'D\' . $cell, $v1[\'c_title\']) ->setCellValue(\'E\' . $cell, $v1[\'uusername\']) ->setCellValue(\'F\' . $cell, date(\'Y-m-d H:i:s\', $v1[\'create_time\'])) ->setCellValue(\'G\' . $cell, $v1[\'is_handle\']) ; } switch ($a) { case \'1\': $PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel, \'Excel2007\'); //按照指定格式生成Excel文件,‘Excel2007’表示生成2007版本的xlsx, $PHPWriter->save(\'handle.xlsx\'); //表示在$path路径下面生成demo.xlsx文件 break; case \'2\': // 生成2007excel格式的xlsx文件 $PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel, \'Excel5\'); //按照指定格式生成Excel文件,‘Excel2007’表示生成2007版本的xlsx header(\'Content-Type: text/html;charset=utf-8\'); header(\'Content-Type: xlsx\'); header(\'Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\'); header(\'Content-Disposition: attachment;filename="handle.xls"\'); header(\'Cache-Control: max-age=0\'); $PHPWriter->save("php://output"); break; } }
推荐使用 $a = 2 的导出方式