thinkphp框架下PHP实现pdf导出功能的代码

不言
发布: 2018-07-31 09:30:55
原创
2366人浏览过

本篇文章给大家分享的内容是关于thinkphp实现pdf导出的功能代码,有一定的参考价值,希望可以帮到有需要的朋友。

二话不说直接上代码 注释部分为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  >考试用时:';
        $content .= gmdate("i:s", $parameter['time_cost']);
        $content .= '</span>';
        $content .= '<span style="color:#fff;">1231';
        $content .= '</span>';
        $content .= '<span >考试分数:';
        $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函数的深入分析

代码小浣熊
代码小浣熊

代码小浣熊是基于商汤大语言模型的软件智能研发助手,覆盖软件需求分析、架构设计、代码编写、软件测试等环节

代码小浣熊 51
查看详情 代码小浣熊

如何使用laravel-echo-server 搭建一个事件广播平台

立即学习PHP免费学习笔记(深入)”;

以上就是thinkphp框架下PHP实现pdf导出功能的代码的详细内容,更多请关注php中文网其它相关文章!

WPS零基础入门到精通全套教程!
WPS零基础入门到精通全套教程!

全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号