2017-02-09 4 views
2

PHPWordには、\PhpOffice\PhpWord\Shared\Html::addHtmlの出力を挿入する要素が必要なようです。標的細胞が空のままですが、私はエラーなしでWord2007の文書を生成することができますPHPWordで表のセルにHTMLを読み込む

//Example HTML 
$html = '<h1>Adding element via HTML</h1>'; 
$html .= '<p>Some well formed HTML snippet needs to be used</p>'; 
$html .= '<p>With for example <strong>some<sup>1</sup> <em>inline</em> formatting</strong><sub>1</sub></p>'; 
$html .= '<p>Unordered (bulleted) list:</p>'; 
$html .= '<ul><li>Item 1</li><li>Item 2</li><ul><li>Item 2.1</li><li>Item 2.1</li></ul></ul>'; 
$html .= '<p>Ordered (numbered) list:</p>'; 
$html .= '<ol><li>Item 1</li><li>Item 2</li></ol>'; 

$table = $section->addTable(); 
$target = $table->addRow()->addCell(10000)->addText(); 
\PhpOffice\PhpWord\Shared\Html::addHtml($target, $html); 

:私は、以下の例では、表のセルに出力するHTML文字列の内容をしようとしています。私はaddText()コールなしで試しましたが、結果のドキュメントが壊れています。

どのように私の目的を達成することができますか?

編集:上記の例のHTMLは$target = $table->addRow()->addCell(10000)で動作します。実際のHTMLには私が使っている問題があるようですが、タグによっては問題が発生しているようです。私は必要とされていないものを取り除いているが、今の例外になってしまっている:実施例HTMLでリスト項目があり、上記のように

BadMethodCallException in AbstractContainer.php line 232: 
Cannot add ListItem in TextRun. 

これは奇妙です

+1

をお試しください'addHtml'メソッドの第2引数として' $ htmlString'の代わりに '$ html'変数を使用する – hassan

+0

申し訳ありませんが、貼り付けの代わりにコードブロックに入力しました。質問を更新し、さらに詳細を追加しました –

答えて

1

をあなたが持っているこの

$table->addRow(); 

$resource_cell_left = $table->addCell(3000); 
$resource_cell_left->addText('Test', array('name' => 'Century Gothic', 'size' => 9, 'bold' => true), array('align'=>'left')); 
$resource_cell_right = $table->addCell(6000); 
$resource_text->addText('Test ', array('name' => 'Century Gothic', 'size' => 9, 'bold' => true), array('align' => 'right')); 

\PhpOffice\PhpWord\Shared\Html::addHtml($resource_cell_right, $html); 

$resource_cell_right->addTextBreak(); 
関連する問題