baker95935

我给封装成函数了  加一些注释

function expordWord($data,$title)
 {
     vendor("PHPWord.PHPWord");
            // New Word Document
        $PHPWord = new \PHPWord();
        header("Content-Type: text/html; charset=UTF-8");
 
        $PHPWord->addFontStyle(\'rStyle\', array(\'bold\' => true, \'italic\' => true, \'size\' => 12));//定义样式
        $PHPWord->addParagraphStyle(\'pStyle\', array(\'align\' => \'center\', \'spaceAfter\' => 100));
        $PHPWord->addTitleStyle(\'titlestyle\', array(\'bold\' => true,\'size\' => 16),array(\'spaceAfter\' => 240,\'align\' => \'center\'));//标题的样式


        $section = $PHPWord->createSection();//创建新页面


 
        $section->addTitle($title,\'titlestyle\');
        $section->addTextBreak(2);
        
        foreach($data as $k=>$v) {
            $section->addText(\'题号:\'.$v[\'no\'],\'rStyle\');
            $section->addImage($v[\'pimg\'], array(\'width\'=>500, \'height\'=>90));
            $section->addTextBreak(2);
            
            $section->addText(\'答案:\');
            $section->addImage($v[\'aimg\'], array(\'width\'=>500, \'height\'=>90));
            
            $section->addTextBreak(4);
        }
    
         $xlsTitle = iconv(\'utf-8\', \'gb2312\');//文件名称
         $fileName = $_SESSION[\'account\'].date(\'_YmdHis\');//or $xlsTitle 文件名称可根据自己情况设定
          header(\'pragma:public\');
          header(\'Content-type:application/vnd.ms-word;charset=utf-8;name="\'.$xlsTitle.\'.docx"\');
          header("Content-Disposition:attachment;filename=$fileName.docx");//attachment新窗口打印inline本窗口打印
          header( \'Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document\');
          ob_clean();//关键
          flush();//关键
          $objWrite = \PHPWord_IOFactory::createWriter($PHPWord, \'Word2007\');
          $objWrite->save(\'php://output\');
          exit;
 }

调用

   public function test()
    {
             
        $data=array(
        0=>array(\'no\'=>1,\'pimg\'=>\'./uploads/questionanswer/2019-12-07/5deb1c575125d_a_1575706883819_0.jpg\',\'aimg\'=>\'./uploads/questionanswer/2019-12-07/5deb1c575125d_a_1575706883819_0.jpg\'),
        1=>array(\'no\'=>2,\'pimg\'=>\'./uploads/questionanswer/2019-12-07/5deb1c575125d_a_1575706883819_0.jpg\',\'aimg\'=>\'./uploads/questionanswer/2019-12-07/5deb1c575125d_a_1575706883819_0.jpg\'),
        );

         expordWord($data,\'试卷名称\');
 
    }

 

样子

分类:

技术点:

相关文章: