好吧 先下载吧:
下载地址:https://pan.baidu.com/s/1upup2rpLTVXIdJpGi9kK6A
密码:qxsd
手册 http://phpword.readthedocs.io/en/latest/search.html?q=setValue&check_keywords=yes&area=default
<?php
//header('Content-Type:text/html;charset=utf-8');/*设置php编码为utf-8*/
//使用Vendor包含PHPWord类
require_once "./PHPWord.php";
//初始化PHPWord对象
$PHPWord = new PHPWord();
$document = $PHPWord->loadTemplate('./template.docx');
$document->setValue('title', iconv('utf-8', 'GB2312//IGNORE', '交通劝导'));
$document->setValue('name',iconv('utf-8', 'GB2312//IGNORE', '张三'));
$document->save('test.docx');
//输出下载Word文档
//header("Location:文件路径 ");
模板文件里面的变量写法
${content} 记住一定不要在这个变量上面加任何样式否则会被影响
这样你会发现中文乱码了 你需要修改几个文件:
Word/Base.php _WriteTextStyle()方法下面
$objWriter->writeAttribute('w:eastAsia', $font); //修改新增
if($font != 'Arial') {
$objWriter->startElement('w:rFonts');
$objWriter->writeAttribute('w:eastAsia', $font); // 添加这行 修改新增
$objWriter->writeAttribute('w:ascii', $font);
$objWriter->writeAttribute('w:hAnsi', $font);
$objWriter->writeAttribute('w:cs', $font);
$objWriter->endElement();
}
PHPWord/Template.php setValue()方法下:
if(!is_array($replace)) {
// $replace = utf8_encode($replace); 注释
$replace = iconv( 'gbk','utf-8', $replace); //新增
}
好了 现在没有问题了