XDocReport和Velocity可用于使用foreach循环在Word表中创建动态行数。 (前行和后行令牌使其更加强大。)但必须修复列数。
但有时我不知道在将数据添加到模板之前我需要的列数。有没有办法动态设置列数?如果这是HTML,我可能很容易做到这一点(只需循环遍历列数并向每行添加另一个TD或TH元素),但我无法弄清楚如何在Word中执行此操作。
答案 0 :(得分:2)
您可以在 docxandvelocity-xxx-sample.zip 中的 DocxTableWithoutFieldsMetadataWithVelocity.docx 中找到包含动态列的示例,您可以download或{{3 }}
基本思路是使用 @ before-cell / @ after-cell :
使用HTML和docx管理列的循环是一回事。您可以解压缩docx,编辑word / document.xml并添加Velocity代码来管理列的循环。
但它不是非常用户友好,这就是为什么XDocReport通过在合并域中使用@ before-cell / @ after-cell预处理docx以使用Velocity代码更新word / document.xml的原因。