Heim  >  Artikel  >  php教程  >  php使用phpword插件生成word文档

php使用phpword插件生成word文档

亚连
亚连Original
2018-05-17 11:55:355752Durchsuche

php使用phpword插件生成word文档
php使用phpword插件生成word文档,有需要的朋友可以参考参考。        

<?php 
        require_once &#39;../libs/PHPWord/PHPWord.php&#39;; 
        require_once &#39;../libs/PHPWord/PHPWord/IOFactory.php&#39;; 
        require_once &#39;../../config.php&#39;; 
        // require_once &#39;../common/conn.php&#39;; 
        // New Word Document 
        $PHPWord = new PHPWord(); 
        /**********文本格式的word text.php************/ 
        // New portrait section 
        //逗号 分割字符串 
        $arr = $_REQUEST[&#39;arr&#39;]; 
        $a = explode(&#39;,&#39;,$arr); 
        //echo $arr; 
        date_default_timezone_set("Asia/Shanghai");//设置一个时区 
        $tm=date(&#39;Y-m-d H:i:s&#39;); 
        //exit($tm); 
        /**********前多日雨量*********/ 
        if(in_array(&#39;1&#39;, $a, TRUE)){ 
        $section = $PHPWord->createSection(); 
        $PHPWord->addFontStyle(&#39;rStyle&#39;, array(&#39;bold&#39;=>false, &#39;italic&#39;=>false,
         &#39;size&#39;=>16)); 
        $PHPWord->addParagraphStyle(&#39;pStyle&#39;, array(&#39;align&#39;=>&#39;center&#39;,
         &#39;spaceAfter&#39;=>100)); 
        $c = "前三日雨量报表"; 
        $section->addText($c, &#39;rStyle&#39;, &#39;pStyle&#39;);  
        $styleTable = array(&#39;borderSize&#39;=>6, &#39;borderColor&#39;=>&#39;006699&#39;,
         &#39;cellMargin&#39;=>80); 
        $styleFirstRow = array(&#39;borderBottomSize&#39;=>18, 
        &#39;borderBottomColor&#39;=>&#39;0000FF&#39;, &#39;bgColor&#39;=>&#39;66BBFF&#39;); 
        // Define cell style arrays 
        $styleCell = array(&#39;valign&#39;=>&#39;center&#39;); 
        // Define font style for first row 
        $fontStyle = array(&#39;bold&#39;=>true, &#39;align&#39;=>&#39;center&#39;); 
        //设置标题 
        $PHPWord->addFontStyle(&#39;rStyle&#39;, array(&#39;bold&#39;=>true, &#39;italic&#39;=>true,
         &#39;size&#39;=>16)); 
        $PHPWord->addParagraphStyle(&#39;pStyle&#39;, array(&#39;align&#39;=>&#39;center&#39;, 
        &#39;spaceAfter&#39;=>100)); 
        // Add table style 
        $PHPWord->addTableStyle(&#39;myOwnTableStyle&#39;, $styleTable, $styleFirstRow);  
        // Add table 
        $table = $section->addTable(&#39;myOwnTableStyle&#39;);  
        // Add row设置行高 
        $table->addRow(500); 
        $table->addCell(2300, $styleCell)->addText(&#39;站码&#39;, $fontStyle); 
        $table->addCell(2300, $styleCell)->addText(&#39;站名&#39;, $fontStyle); 
        $table->addCell(2300, $styleCell)->addText(&#39;雨量&#39;, $fontStyle); 
        $table->addCell(2300, $styleCell)->addText(&#39;水文站监测类型&#39;, $fontStyle);  
        $conn = mssql_connect($config[&#39;mssql&#39;][&#39;host&#39;],$config[&#39;mssql&#39;][&#39;user&#39;],$config[&#39;mssql&#39;][&#39;password&#39;]); 
        mssql_select_db($config[&#39;mssql&#39;][&#39;dbname&#39;],$conn);  
        $stm = date(&#39;Y-m-d H:i:s&#39;,strtotime(&#39;-3 days&#39;)); 
        $sql = "EXEC HNOW05_GETPPSPACE &#39;&#39;,&#39;&#39;,&#39;".$stm."&#39;,1,1"; 
        $res=mssql_query($sql);  
        while($arr = mssql_fetch_array($res)){ 
        //echo $arr["STCD"]." 
        "; 
        $table->addRow(); 
        $table->addCell(2300)->addText($arr["STCD"]); 
        $table->addCell(2300)->addText($arr["STNM"]); 
        $table->addCell(2300)->addText($arr["P"]); 
        if($arr["STTP"] == &#39;MM&#39;){ 
        $table->addCell(2300)->addText(&#39;气象站&#39;); 
        }else if($arr["STTP"] == &#39;BB&#39;){ 
        $table->addCell(2300)->addText(&#39;蒸发站&#39;); 
        }else if($arr["STTP"] == &#39;DD&#39;){ 
        $table->addCell(2300)->addText(&#39;堰闸水文站&#39;); 
        }else if($arr["STTP"] == &#39;TT&#39;){ 
        $table->addCell(2300)->addText(&#39;落潮位站&#39;); 
        }else if($arr["STTP"] == &#39;DP&#39;){ 
        $table->addCell(2300)->addText(&#39;泵站&#39;); 
        }else if($arr["STTP"] == &#39;SS&#39;){ 
        $table->addCell(2300)->addText(&#39;墒情站&#39;); 
        }else if($arr["STTP"] == &#39;PP&#39;){ 
        $table->addCell(2300)->addText(&#39;雨量站&#39;); 
        }else if($arr["STTP"] == &#39;ZZ&#39;){ 
        $table->addCell(2300)->addText(&#39;河道水位水文站&#39;); 
        }else if($arr["STTP"] == &#39;RR&#39;){ 
        $table->addCell(2300)->addText(&#39;水库水文站&#39;); 
        }else if($arr["STTP"] == &#39;ZG&#39;){ 
        $table->addCell(2300)->addText(&#39;地下水站&#39;); 
        }else if($arr["STTP"] == &#39;ZB&#39;){ 
        $table->addCell(2300)->addText(&#39;分洪水位站&#39;); 
        } 
        } 
        $section->addTextBreak(2); 
        }else{ 
        } 
        /******地质灾害*******/ 
        if(in_array(&#39;3&#39;, $a, TRUE)){ 
        $section = $PHPWord->createSection(); 
        $PHPWord->addFontStyle(&#39;rStyle&#39;, array(&#39;bold&#39;=>false, &#39;italic&#39;=>false, 
        &#39;size&#39;=>16)); 
        $PHPWord->addParagraphStyle(&#39;pStyle&#39;, array(&#39;align&#39;=>&#39;center&#39;, 
        &#39;spaceAfter&#39;=>100)); 
        $c = "地质灾害"; 
        $section->addText($c, &#39;rStyle&#39;, &#39;pStyle&#39;);  
        $content="根据市气象局未来24小时降雨预报和市水利局实时降雨数据,市国土资源局进行了地质灾害预报,请有关部门关  
        注  
        实时预警信息,做好地质灾害防范工作"; 
        $section->addText($content); 
        // Add image elements 
        $section->addImage("images/image001.jpg", array(&#39;width&#39;=>600, 
        &#39;height&#39;=>480, &#39;align&#39;=>&#39;center&#39;)); 
        }else{ 
        } 
        // Save File 
        $fileName = "word报表".date("YmdHis"); 
        header("Content-type: application/vnd.ms-word"); 
        header("Content-Disposition:attachment;filename=".$fileName.".docx"); 
        header(&#39;Cache-Control: max-age=0&#39;); 
        $objWriter = PHPWord_IOFactory::createWriter($PHPWord, &#39;Word2007&#39;); 
        $objWriter->save(&#39;php://output&#39;); 
?>

上面是我整理给大家的在php中使用phpword插件生成word文档,希望今后会对大家有帮助。

相关文章:

php中大小写转换函数的用法及案例

PHP基于面向对象实现留言本步骤详解

PHP接口隔离原则(ISP)使用案例解析

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn