次の行を含む docx ファイルのテーブルを使用します。
[b.num;block=w:tr]
[b.name]
PHP では、配列$TBS->MergeBlock('b', $data_1);
からコンテンツを追加するものを使用します。$data_1
問題は、各行のテキストの色を動的に制御するにはどうすればよいかということです。たとえば、名前が「ジョン」の場合は赤でマークし、それ以外の場合は青を使用しますか?
2 つの解決策を提案できます。
1) 条件付きセクションを使用する
このために、可能性ごとに 1 つの行を使用します。
[b.num;block=w:tr;when '[b.name]'='John'] (red) [b.name]
[b.num;block=w:tr;default] (blue) [b.name]
2) パラメータ「att」を使用して色を変更します
行のセルで、テキストの一部に色を適用すると、内部の XML は次のようになります。
<w:p>
<w:r>
<w:rPr>
<w:color w:val="FF0000"/>
</w:rPr>
<w:t>this text is red</w:t>
</w:r>
</w:p>
したがって、テンプレートで任意の色を適用してセルを準備し、パラメーター「att」を持つフィールドを使用して色の値を変えることができます。
[b.num;block=w:tr]
[b.name]
[b.name;att=w:color#w:val;if [val]='John';then 'FF0000';else '548DD4']