php生成word两种方法
1.正常的touch创建word 2.fopen 打开word 3.fwrite 写入word 并保存
这样会出现一个问题,如果写入的东西里面含有html代码的话,它将直接写入word而不是 排版了.
这个问题,需要在输出html代码头部加一段代码:
$ headert =' < html xmlns:o = "urn:schemas-microsoft-com:office:office" xmlns:w = "urn:schemas-microsoft-com:office:word" xmlns = "http://HdhCmsTestw3.org/tr/rec-html40" > '; $ 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 ='3"'; //设置字体 这 $word ->selection->font->name = 'helvetica' ; //设置字号 $word ->selection->font->size = 8; //设置颜色 $word ->selection->font->colorindex= 13; //wddarkred= 13 //输出到文档 $word ->selection->typetext( "hello world " ); //开源代码phpfensi测试数据 $range = $word ->activedocument->range(0,0); $table_t = $word ->activedocument->tables->add( $range ,3,4); $table_t ->cell(1,2)->range->insertafter( 'aaa' ); //保存 //$word->sections->add(1); $word ->documents[1]->saveas(dirname(__file__). "/create_test.doc" ); //退出 $word ->quit(); ?>方法二,实例代码如下:
<?php class word { function start() { ob_start(); print'<html xmlns:o= "urn:schemas-microsoft-com:office:office" xmlns:w= "urn:schemas-microsoft-com:office:word" xmlns= "http://HdhCmsTestw3.org/tr/rec-html40" >'; } 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并且结束查看更多关于php生成word两种方法 - php高级应用的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did30215