加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php生成word两种办法

发布时间:2022-02-15 21:11:05 所属栏目: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并且结束 

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!