php生成word两种办法
发布时间:2022-02-15 18:33:02 所属栏目:PHP教程 来源:互联网
导读:1.正常的touch创建word 2.fopen 打开word 3.fwrite 写入word 并保存 这样会出现一个问题,如果写入的东西里面含有html代码的话,它将直接写入word而不是 排版了. 这个问题,需要在输出html代码头部加一段代码: $headert=html xmlns:o=urn:schemas-microsoft-c
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://www.w3.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 "); //开源代码Cuoxin.com $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://www.w3.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并且结束 (编辑:开发网_郴州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |