分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

thinkphp-PHP实现pdf导出功能

发布时间:2023-09-06 02:06责任编辑:顾先生关键词:PHPthinkphppdf

二话不说直接上代码 注释部分为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 .= ‘<div class="content">‘;
???????$content .= ‘<p align="center" style="color: #0a6ebd;font-size: 24px"><b>考试结果</b></p>‘;
???????$content .= ‘ <div 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 .= ‘</div>‘;
???????$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‘);
*/
???}

thinkphp-PHP实现pdf导出功能

原文地址:https://www.cnblogs.com/luzt/p/9390672.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved