thinkphp架構下PHP實現pdf匯出功能的代碼

來源:互聯網
上載者:User
本篇文章給大家分享的內容是關於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 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');*/    }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.