时间:2021-07-01 10:21:17 帮助过:25人阅读
二话不说直接上代码 注释部分为excel导出
// 导出考试结果明细 public function export() { // 导出考试结果明细(PDF) $id = I('id'); $detailed = D('member_test_result'); $parameter = $detailed->detailedResults($id); $name = $parameter['member_name']; $result = json_decode($parameter['test_result_str']); foreach ($result as $k => $v) { $test = M('test_cont'); $array['question_title'] = $test->where('id=' . $k)->getField('qustion_title'); //正确选项 $array['state'] = $test->where('id=' . $k)->getField('state'); //正确答案 $wheres['test_id'] = $k; $wheres['state'] = $array['state']; $array['stateresult'] = M('test_answer')->where($wheres)->getField('answer_name'); //选项 $array['cont'] = $v; //选项内容 $where['test_id'] = $k; $where['state'] = $array['cont']; $array['result'] = M('test_answer')->where($where)->getField('answer_name'); $data[] = $array; } $content = '<!doctype html>'; $content .= '<html lang="en">'; $content .= '<head>'; $content .= '<meta charset="UTF-8" />'; $content .= '<title>考试结果</title>'; $content .= '</head>'; $content .= '<body>'; $content .= '<p class="content">'; $content .= '<p align="center" style="color: #0a6ebd;font-size: 24px"><b>考试结果</b></p>'; $content .= ' <p style="color:#6a6a6a;letter-spacing:4px">'; $content .= '<p><span>姓名:'; $content .= $name; $content .= '</span>'; $content .= '<span style="color:#fff;">1231'; $content .= '</span>'; $content .= '<span style="" >考试用时:'; $content .= gmdate("i:s", $parameter['time_cost']); $content .= '</span>'; $content .= '<span style="color:#fff;">1231'; $content .= '</span>'; $content .= '<span style="">考试分数:'; $content .= $parameter['score']; $content .= '</span>'; $content .= '<hr/>'; foreach ($data as $k => $v) { $content .= '<p style=font-size: 20px><b>'; $content .= $k + 1; $content .= '、</b>'; $content .= $v['question_title']; $content .= '</p>'; $content .= '<p style=" font-size: 14px">您的选项为:<span style="color:#0a6ebd;">'; $content .= $v['cont']; $content .= '</span></p>'; $content .= '<p style=" font-size: 14px">您的答案为:<span style="color:#0a6ebd;">'; $content .= $v['result']; $content .= '</span></p>'; $content .= '<p style=" font-size: 14px">正确选项为:<span style="color:red;">'; $content .= $v['state']; $content .= '</span></p>'; $content .= '<p style=" font-size: 14px">正确答案为:<span style="color:red;">'; $content .= $v['stateresult']; $content .= '</span></p>'; }; $content .= '</p>'; $content .= '</body>'; $content .= '</html>'; pdf($content); // 导出考试结果明细(Excel) /* header("Content-Typ:text/html;charset=utf-8"); vendor('Excel.PHPExcel'); vendor('Excel.PHPExcel.IOFactory'); $objPHPExcel = new \PHPExcel(); $objPHPExcel->getActiveSheet()->setCellValue('A1', "考试问题");//设置列的值 $objPHPExcel->getActiveSheet()->setCellValue('B1', "选项");//设置列的值 $objPHPExcel->getActiveSheet()->setCellValue('C1', "答案");//设置列的值 $objPHPExcel->getActiveSheet()->setCellValue('D1', "正确选项");//设置列的值 $objPHPExcel->getActiveSheet()->setCellValue('E1', "正确答案");//设置列的值 if($data){ $i=2; foreach ($data as $key => $value) { $objPHPExcel->setActiveSheetIndex(0) //Excel的第A列,uid是你查出数组的键值,下面以此类推 ->setCellValue('A'.$i, $value['question_title']) ->setCellValue('B'.$i, $value['cont']) ->setCellValue('C'.$i, $value['result']) ->setCellValue('D'.$i, $value['state']) ->setCellValue('E'.$i, $value['stateresult']); $i++; } } $objPHPExcel->getActiveSheet(0)->setTitle('考试结果详情报表'); header('Content-Type:application/vnd.ms-excel'); header("Content-Disposition:attachment;filename=".$time."考试结果详情报表.docx"); header('Cache-Control: max-age=0'); $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); */ }
相关推荐:
PHP中strpos函数的深入分析
如何使用laravel-echo-server 搭建一个事件广播平台
以上就是thinkphp框架下PHP实现pdf导出功能的代码的详细内容,更多请关注Gxl网其它相关文章!