>php教程 >php手册 >php生成word两种方法

php生成word两种方法

WBOY
WBOY원래의
2016-05-25 16:38:491711검색

1.正常的touch创建word 2.fopen 打开word 3.fwrite 写入word 并保存

这样会出现一个问题,如果写入的东西里面含有html代码的话,它将直接写入word而不是 排版了.

这个问题,需要在输出html代码头部加一段代码:

<?php
$headert=&#39;<html xmlns:o="urn:schemas-microsoft-com:office:office" 
    xmlns:w="urn:schemas-microsoft-com:office:word" 
    xmlns="http://www.w3.org/tr/rec-html40">&#39;; 
    $footer="</html>";
?>

比如你的内容是$text;

那么写入的时候$text=$header.$text.$footer;

这样的话fck里面的东西就能按排版的样式输出了!

方法一,实例代码如下:

<?php 
    $word= new com("word.application") or die("unable to 
    create word document"); 
    print "loaded word, version{$word->version}n"; 
    $word->visible =0; 
    $word->documents->add(); 
    //设置边距 这个有错误 
    // $word->selection->agesetup->rightmargin =&#39;3"&#39;; 
    //设置字体 这 
    $word->selection->font->name =&#39;helvetica&#39;; 
    //设置字号 
    $word->selection->font->size = 8; 
    //设置颜色 
    $word->selection->font->colorindex= 13; //wddarkred= 13 
    //输出到文档 
    $word->selection->typetext("hello world "); 
    //开源代码phprm.com 
    $range = $word->activedocument->range(0,0); 
    $table_t =$word->activedocument->tables->add($range,3,4); 
    $table_t->cell(1,2)->range->insertafter(&#39;aaa&#39;); 
    //保存 
    //$word->sections->add(1); 
    $word->documents[1]->saveas(dirname(__file__)."/create_test.doc"); 
    //退出 
    $word->quit(); 
?>

方法二,实例代码如下:

<?php
class word {
    function start() {
        ob_start();
        print &#39;<html xmlns:o="urn:schemas-microsoft-com:office:office" 
    xmlns:w="urn:schemas-microsoft-com:office:word" 
    xmlns="http://www.w3.org/tr/rec-html40">&#39;;
    }
    function save($path) {
        print "</html>";
        $data = ob_get_contents();
        ob_end_clean();
        $this->wirtefile($path, $data);
    }
    function wirtefile($fn, $data) {
        $fp = fopen($fn, "wb");
        fwrite($fp, $data);
        fclose($fp);
    }
}
?>

调用方法,代码如下:

$word=new word; 
$word->start(); 
echo $cout; 
$wordname="word/".time().".doc"; 
$word->save($wordname);//保存word并且结束


本文地址:

转载随意,但请附上文章地址:-)

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.