1.phpword下载地址https://github.com/PHPOffice/PHPWord
2.位置
3.将你的word模板做好并放入以下位置。(你只需要一个word.docx和一个空的upload.docx);
3.1word.docx是模板,里面有标签(注意:标签最好用“Notepad++编写,或者记事本、编译器,不要用word来编辑,然后在复制到word中对应位置,可以加粗,字体大小,字体颜色”),如下图所示,
4.如下代码所示,其中“
data”是我自己定义的数组,也是为了避免
d
a
t
a
”
是
我
自
己
定
义
的
数
组
,
也
是
为
了
避
免
tempPlete->setValue(“xxxxx”,”xxxxx”);的代码量,然后再次遍历赋值。如果有更好的方法欢迎留言。
public function phpword()
{
vendor("PHPWord.PHPWord");
$PHPWord = new \PHPWord();
$tempPlete = $PHPWord->loadTemplate('./Public/doc/word.docx');
foreach($data as $k=>$v){
$tempPlete->setValue($k,$this->get_usName($v));
}
$tempPlete->save('./Public/doc/upload.docx'); // 文件通过浏览器下载
$ip = "{$_SERVER['SERVER_NAME']}";
$dk = "{$_SERVER['SERVER_PORT']}";
echo json_encode(array("src"=>$ip.":".$dk."/Public/doc/upload.docx"));
}
html
function uploadsWord() {
$.getJSON("__URL__/phpword",function(e){
if(e.src){
window.location.href = e.src;
}else {
}
})
}
5.最后导出的结果如下