PHPWord保存目录

PHPWord保存目录,php,phpword,Php,Phpword,我不知道为什么,但我很难让PHPWord正常工作。我相信下面的代码可以正常工作,但我找不到任何输出。因此,要么1)它没有输出任何内容,要么2)我找不到保存的文件(尽管我相信我已经在每个目录中查找过)。有人有什么想法吗?谢谢 require_once '/home/public_html/biz/PHPWord-master/src/PhpWord/Autoloader.php'; \PhpOffice\PhpWord\Autoloader::register(); require

我不知道为什么,但我很难让PHPWord正常工作。我相信下面的代码可以正常工作,但我找不到任何输出。因此,要么1)它没有输出任何内容,要么2)我找不到保存的文件(尽管我相信我已经在每个目录中查找过)。有人有什么想法吗?谢谢

require_once '/home/public_html/biz/PHPWord-master/src/PhpWord/Autoloader.php';
    \PhpOffice\PhpWord\Autoloader::register();
    require_once '/home/public_html/biz/PHPWord-master/src/PhpWord/PhpWord.php';
    $PHPWord = new \PhpOffice\PhpWord\PhpWord();
    $document = $PHPWord->loadTemplate('/home/public_html/biz/WordTemp.docx');

    $document->setValue('HERE', 'test');

    // Saving the document as OOXML file...
    $objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($PHPWord, 'Word2007');
    $objWriter->save('helloWorld.docx');

如果我没有弄错的话,你正在尝试处理一个模板。 也许我错了,但你只能通过TemplateProcessor来实现

我用这样的东西。我希望有帮助

<?php
function processTemplate($templateFile,$outputFile,$data){
    //PHPWORD INIT
        require_once __DIR__ . '/../src/PhpWord/Autoloader.php';//Your actual path here obviously, here it is set for the sample dir

        \PhpOffice\PhpWord\Autoloader::register();

        // Template processor instance creation
        $templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor($templateFile);
    //CORE
        foreach($data as $key => $value){
            if(is_array($value)) {
                $rowNum = sizeof($value);
                $actRow = 0;
                $templateProcessor->cloneRow($key, $rowNum);
                foreach($value as $row) {
                    $actRow++;
                    foreach($row as $col => $cellValue){
                        $templateProcessor->setValue($col."#".$actRow, $cellValue);
                    }
                }
            }else{
                $templateProcessor->setValue($key, $value);
            }
        }

    //SAVING FILE
        $templateProcessor->saveAs($outputFile);
    return true;
}
//example
$data = array(

        "setval1" => "Orange",//for setvalue

        "setval2" => "Apple", //for setvalue

        "clonerow1" => array(

            array("clonerow1" => "First entry","animal" => "Elephant","owner" => "Jack"),

            array("clonerow1" => "Second entry","animal" => "Cat", "owner" => "Alice")

        ) //for clonerow

    );
?>

更改为模板处理器确实使事情正常运行!谢谢你的帮助。