//首先 在入口文件 引入Excel类 /** 引入excel文件 */ require(__DIR__ . '/../../common/excel/PHPExcel.php'); /** 引入excel文件 */
/** Controller 控制器 */ use PHPExcel; use PHPExcel_Writer_Excel5;
/** * 生成Excel表 */ public function actionExcel() { //创建Excel $objPHPExcel = new PHPExcel; // var_dump($objPHPExcel); //设置当前的sheet $objPHPExcel->setActiveSheetIndex(0); //设置sheet名字 $objPHPExcel->getActiveSheet()->setTitle('测一测'); //获取数据 $query = new Query(); $data = $query -> select('*') -> from('film') -> all(); //设置表头 $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1','编号'); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('B1','姓名'); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('C1','预约号'); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('D1','预约时间'); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('E1','预约座位'); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('F1','预约电影'); //计算数据总数 $count = count($data); for ($i = 2; $i <= $count+1; $i++) { $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $data[$i-2]['id']); $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $data[$i-2]['about_name']); $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $data[$i-2]['about_num']); $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $data[$i-2]['about_time']); $objPHPExcel->getActiveSheet()->setCellValue('E' . $i, $data[$i-2]['about_seat']); $objPHPExcel->getActiveSheet()->setCellValue('F' . $i, $data[$i-2]['film_name']); } 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="预约电影.xls"'); header("Content-Transfer-Encoding:binary"); $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); $objWriter->save('php://output'); }