为什么 PHPword setvalue 不替换 word Doc 中的文本?

Why does PHPword setvalue not replacing text in word Doc?

我正在尝试使用 php(PHPword 库)编辑 word 文档。但是,我不确定为什么它不起作用。脚本没有抛出任何错误。

我的代码:

    <?php 
    require 'vendor/autoload.php';
    
    // $phpword = new \PhpOffice\PhpWord\PhpWord();
    $templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('test.docx');
    // $templateProcessor->setValues(array('firstname' => 'John', 'lastname' => 'Doe'));
    $templateProcessor->setValue('firstname', 'John');
    $templateProcessor->setValue('lastname', 'Doe');
    
    // var_dump($templateProcessor->setValues(array('firstname' => 'John', 'lastname' => 'Doe')));
    var_dump($templateProcessor->setValue('lastname', 'Doe'))
    ?>

我的文字文档: word doc

输出: Output

我不知道为什么它不起作用。你能帮我么 ?谢谢

setValue() 方法会将值设置为 var_dump 而不是 return 它。

您可以添加:

$pathToSave = 'path/to/save/file.ext';
$templateProcessor->saveAs($pathToSave);

并检查生成的文档中的输出。