# 读取模板 $plateform = new TemplateProcessor('xxx.docx'); $plateform->cloneBlock('block_name',count($lists),true,true); foreach ($lists as $k => $item) # 假设第三个值需要设置段落居中 if ($k == 2) { $paragragph = new Paragraph(); $paragragph->setAlignment(Jc::CENTER); $inline = new TextRun($paragragph); $inline->addText('${content#'.($k+1).'}'); $template->setComplexBlock('content#'.($k+1), $inline); $template->setValue('content#'.($k+1),$item); # 保存文件 $plateform->saveAs(xxxx.docx);
PHPWORD 实现单元格内同一行文字设置不同的 样式 比如不同颜色不同大小粗细是否斜体等等 PHPWORD 这个问题困扰了我好几天,做过 PHP Excel的实现方法,在 PHP Excel中内置了富文本对象,直接创建就可以了,可以参考我另写的一篇 PHP Excel的文章 在 PHPWORD 里没有提供富文本对象的功能,所以它的表格的某个单元格内没有办法采用富文本对象的方式,按照文本框的方式理论上要想实现的话采用: $cell = $table->addCell(2000); $catname = $cell->
public function clone Block str($ block name, $ clone s = 1, $replace = true, $indexVariables = false, $variableReplacements = null) echo date('Y-m-d h:i:s', time())... 使用 phpword 生成文档有两种方式 直接使用代码编写 word 文档,用代码生成 word ,但是设置 样式 ,格式,图片非常麻烦,不建议使用。如果客户或产品提供一份 word 样式 ,我们也难以完全复原,调 样式 很头疼的。 读取原有 word 模板,替换相关 变量 。个人感觉这种方式能满足绝大部分需求,实现起来也比较简单,所有的 样式 ,格式直接在 word 模板里设置好,替换 变量 就可以了,还可以很方便的切换模板。本文主要介绍这种方式,毕竟我们是为了快速实现客户的需求,让客户提供一份 word 模板,我们稍微一改就可以了 phpword 生成 word 文档有两种方法 1 直接生成 word 文档 例如$ phpWord = new PHPWord (); 然后可以在新的文档里用代码写所需要的内容 如 表格,图表,图片等。 相信弄过的同学都知道调 样式 的痛苦,所以这种方法不推荐。 2 使用 word 模板,在模板里设置 变量 然后替换 变量 就行了。这种方法简单快捷 大力推荐。 下面正式开始 1 安装 phpword 我用的laravel框架 所以就用comp