最近一个项目开发要用到PHP技术导出Word文档,比较了几种方案,首先是使用Microsoft Office自带的ActiveX/COM组件,比如Word.Application,这种方式的优点是格式兼容度高,可以生成纯doc的Word2003格式文档,缺点一是比较占资源(调用会启动一个WINWORD.EXE进程),不适合Web多用户访问使用;二是PHP这种Web开发技术大多数是跑在Linux服务器上,当然也就无法使用Windows下的技术了,平台可移植和兼容性不好。第二种生成Word的方案是生成Word兼容的网页格式,然后以Word方式打开,这种方案总体上感觉怪怪的,毕竟文件格式是HTML的,而且格式兼容度不好,不过这种方式的优点是节省服务器资源,能够快速生成;最后一种方案也就是今天的主角,采用PHPWord生成Word2007(docx)格式的文档,现在基本上微软Office Word 2003以后的版本均兼容这种格式了,对于2003版本来说,仅需要下载安装个兼容格式包(下载地址),也能正常打开这类文件,当然如果你使用的是最新版本的Office(包括但不限于Office 2007、Office 2010)则不需要安装此格式包。
详细请参考 详细文章链接 :http://wangye.org/blog/archives/943/
我在此补充: 如果大家使用${xxxx}发现无法替换时,因为是phpword里面的组件解析word为xml格式时有时候会把 ${xxxx} 解析分开,这样php的 str_replace 函数自然替换就失效了,所以遇到此问题时只需要重新从头至尾用一种格式和字体打出{$xxxx}替换变量,不能复制和粘贴。
转载请注明:阿尤博客 » PHPWord解决中文乱码并利用模板替换生成DOCX格式文档