開発中の Web アプリのレポート モジュールに、PHP 用のワード ドキュメント ジェネレーターを使用しています。私が PHPWord を選んだ理由は、PHPDocX の無料版は機能が非常に限られていることと、無料版のみであるというフッターがあるためです。クライアントから提供されたテンプレートがあります。私が望むのは、テンプレートをロードして、追加のテキストやテーブルなどの動的要素をテンプレートに追加したいということです。私のコードはここにあります:
<?php
require_once '../PHPWord.php';
$PHPWord = new PHPWord();
$document = $PHPWord->loadTemplate('Template.docx');
$document->setValue('Value1', 'Great');
$section = $PHPWord->createSection();
$section->addText('Hello World!');
$section->addTextBreak(2);
$document->setValue('Value2', $section);
$document->save('test.docx');
?>
新しいセクションを作成して、テンプレートの 1 つの変数 (Value2) に割り当てようとしましたが、次のエラーが表示されました。
[28-Jan-2013 10:36:37 UTC] PHP Warning: utf8_encode() expects parameter 1 to be string, object given in /Users/admin/localhost/PHPWord_0.6.2_Beta/PHPWord/Template.php on line 99