使用PHPWORD 生成word文档

昨日使用了PHPword生成WORD文档,折腾了半天,终于折腾出来了。 特此记录一下,分享给大家使用。

1、下载最新PHPWORD 类库 http://phpword.codeplex.com/

2、解决中文乱码问题。

a) 情况一

  1. /Writer/Word2007/Base.php文件内容349行,添加 $objWriter->writeAttribute('w:eastAsia', $font); // 添加这行
  2. Section.php中找到代码$givenText = utf8_encode($text);,删除或者注释掉这行代码,添加$givenText = iconv('gbk', 'utf-8', $text);
  3. 同时编辑PHPWord/Template.php,找到代码$replace = utf8_encode($replace);,删除或者注释掉这行代码,添加$replace = iconv( 'gbk','utf-8', $replace);
  4. $section->addText(iconv('utf-8','GB2312//IGNORE',$st));

 

b)情况二

I.

 

 3、解决注册不了,与框架冲突问题(new 不到对象)

public static function Register() {
   return spl_autoload_register(array('PHPWord_Autoloader', 'Load'));
}

修改为

public static function Register() {
       $functions = spl_autoload_functions();
       if($functions){
           foreach ($functions as $v){
               spl_autoload_unregister($v);
           }
           $functions = array_merge(array(array('PHPWord_Autoloader', 'Load')),$functions);
           foreach ($functions as $v){
               spl_autoload_register($v);
           }
       }else{
           spl_autoload_register(array('PHPWord_Autoloader', 'Load'));
       }
}

以上,就可以解决问题啦。 折腾了半天,终于弄好了。

然后,就可按按照官方文档,进行WORD生成了。 这里生成的是word2007的,如果还是使用word2007以下版本,自行下载安装兼容包即可使用

 

转载于:https://www.cnblogs.com/voidhuang/p/6216654.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值