美文网首页
php使用phpword生成doc文档

php使用phpword生成doc文档

作者: 江江简书 | 来源:发表于2020-05-17 11:03 被阅读0次
    前言:程序员就是如果不学习,而且没有接触某些业务是永远都接触不到某些功能的,就像php中操作word,我之前也是没有接触过这个功能,下面我们来总结其中的一些细节。

    下载文件

    开始

    • require_once './vendor/autoload.php';
    • $phpWord = new \PhpOffice\PhpWord\PhpWord();

    添加一段

    $section->addText('txtsfdf', array('name' => '宋体', 'size' => 12),array('align' => 'right','lineHeight'=>1.5));

    添加标题

    $phpWord->addTitleStyle(3,array('bold' => true, 'size' => 22, 'name' => '宋体', 'Color' => '333'), array('align' => 'center'));
    $section->addTitle('叉车定期检验报告',3);

    换行

    • $section->addText('<w:br />');
    • $section->addTextBreak(14);

    添加新的一页

    • $section = $phpWord->addSection();

    添加表格

    styleTable = array('borderSize'=>6, 'borderColor'=>'000000');//表格样式fontStyle = array('name'=>'宋体','size'=>12,'align'=>'center');//文字样式
    phpWord->addTableStyle('flstable',styleTable);
    table =section->addTable('flstable');

    横向合并

    $table_title = [
        ['使用单位名称'],
        ['设备使用地点'],
        ['制造单位名称'],
        ['改造(重大单位名称)'],
        ['检验依据'],
        ['主要监测仪器'],
        ['监测结论'],
        ['备注'],
    ];
    foreach ($table_title as $row){
        $table->addRow(700);
        foreach ($row as $val){
            $table->addCell(2500,array('valign'=>'center','align'=>'center'))->addText($val,$fontStyle);
            $table->addCell(8000,array('gridSpan' => 3))->addText('',$fontStyle);
        }
    }
    

    竖向合并

    $thir_tab = [
      ['下次定期检验日期:   年    月   日'],
      ['校验:          日期            '],
      ['审核:          日期            '],
      ['审批:          日期            '],
    ];
    foreach ($thir_tab as $index=>$row){
        foreach ($row as $val){
            $table->addRow(700);
            $table->addCell(4000,array('valign'=>'center','gridSpan' => 3))->addText($val,$fontStyle);
            if($index ==0){
                $table->addCell(4000,array('vMerge' => 'restart'))->addText('<w:br/>校验机构核准证号:<w:br/><w:br/> <w:br/><w:br/>        校验机构检验专用章:  <w:br/><w:br/>              年   月   日');
            }else{
                $table->addCell(100,array('vMerge' => 'continue'));
            }
        }
    }
    

    一行文本添加不同样式

    $use_arr = [
        '使用单位信息:',
        '注  册 代 码:',
        '设  备 类 别:',
        '设备型号规格:',
        '检  验 类 别:',
        '检  验 日 期:',
    ];
    foreach ($use_arr as $ua){
        $runtxt = $section->addTextRun(array('align' => 'center','lineHeight'=>1.5));
        $runtxt->addText($ua, array('size' => 13,));
        $runtxt->addText('    xxxxx    ',array( 'size' => 13,'underline'=>'single'));
    }
    

    结束语:到这里大概就可以实现一个php导出word的常用功能,至于更多高深功能可以参考官方文档

    相关文章

      网友评论

          本文标题:php使用phpword生成doc文档

          本文链接:https://www.haomeiwen.com/subject/vsdhohtx.html