0

XDocReport と Velocity を使用して、foreach ループを使用して Word テーブルに動的な数の行を作成できます。(before-row および after-row トークンにより、これはさらに強力になります。) ただし、列の数は固定する必要があります。

しかし、データがテンプレートに追加されるまで、必要な列の数がわからないことがあります。列数を動的に設定する方法はありますか? これが HTML の場合、おそらく簡単に実行できます (列の数をループして、別の TD または TH 要素を各行に追加するだけです) が、Word でこれを行う方法がわかりません。

4

1 に答える 1

2

ダウンロードできるdocxandvelocity-xxx-sample.zipDocxTableWithoutFieldsMetadataWithVelocity.docxまたはgitで、動的列を含むサンプルを見つけることができます。

基本的な考え方は、@before-cell/@after-cellを使用することです:

ここに画像の説明を入力

HTML と docx で列のループを管理することは同じことです。docx を解凍し、word/document.xml を編集し、Velocity コードを手元に追加して、列のループを管理できます。

しかし、あまりユーザーフレンドリーではないため、XDocReport はマージフィールドに記述された @before-cell/@after-cell を使用して、Velocity コードで word/document.xml を更新するために docx を前処理します。

于 2014-08-08T05:44:27.337 に答える