0

XDocReport 和 Velocity 可用于使用 foreach 循环在 Word 表中创建动态行数。(before-row 和 after-row 标记使这个功能更加强大。)但是列数必须是固定的。

但有时在将数据添加到模板之前,我不知道需要多少列。有没有办法动态设置列数?如果这是 HTML,我可能很容易做到这一点(只需遍历列数并在每一行添加另一个 TD 或 TH 元素),但我不知道如何在 Word 中做到这一点。

4

1 回答 1

2

您可以在可以下载的docxandvelocity-xxx-sample.zipgit中的DocxTableWithoutFieldsMetadataWithVelocity.docx中找到带有动态列的示例。

基本思想是使用@before-cell/@after-cell

在此处输入图像描述

使用 HTML 和 docx 管理列的循环是一回事。您可以解压缩您的 docx,编辑 word/document.xml 并在手边添加 Velocity 代码来管理列的循环。

但它对用户不是很友好,这就是为什么 XDocReport 预处理 docx 以使用写在合并字段中的 @before-cell/@after-cell 使用 Velocity 代码更新 word/document.xml。

于 2014-08-08T05:44:27.337 回答