使用PHPWORD 生成word文档
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用PHPWORD 生成word文档相关的知识,希望对你有一定的参考价值。
昨日使用了phpword生成WORD文档,折腾了半天,终于折腾出来了。 特此记录一下,分享给大家使用。
1、下载最新PHPWORD 类库 http://phpword.codeplex.com/
2、解决中文乱码问题。
a) 情况一
- /Writer/Word2007/Base.php文件内容349行,添加 $objWriter->writeAttribute(‘w:eastAsia‘, $font); // 添加这行
- Section.php中找到代码$givenText = utf8_encode($text);,删除或者注释掉这行代码,添加$givenText = iconv(‘gbk‘, ‘utf-8‘, $text);
- 同时编辑PHPWord/Template.php,找到代码$replace = utf8_encode($replace);,删除或者注释掉这行代码,添加$replace = iconv( ‘gbk‘,‘utf-8‘, $replace);
- $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以下版本,自行下载安装兼容包即可使用
以上是关于使用PHPWORD 生成word文档的主要内容,如果未能解决你的问题,请参考以下文章
PHPWord使用PHPWord自动生成TOC根据内容的目录完整示例 | table of contents (TOC)
PHPWord使用PHPWord自动生成TOC根据内容的目录完整示例 | table of contents (TOC)
PHPWord使用PHPWord自动生成TOC根据内容的目录完整示例 | table of contents (TOC)