php使用phpword插件生成word文档

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