【问题标题】:Dynamic number of columns in a Word table using Velocity and XDocReport使用 Velocity 和 XDocReport 的 Word 表中的动态列数
【发布时间】:2014-08-07 20:02:05
【问题描述】:

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

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

【问题讨论】:

    标签: ms-word velocity xdocreport


    【解决方案1】:

    您可以在 docxandvelocity-xxx-sample.zip 中的 DocxTableWithoutFieldsMetadataWithVelocity.docx 中找到带有动态列的示例,您可以在downloadin git 中找到。

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

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

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

    【讨论】:

    • 太棒了!谢谢。做到了。
    • @Angelo 我正在尝试应用您的解决方案,但无法成功。可以提供一个模板文件作为例子吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 2019-04-13
    • 2019-01-23
    • 1970-01-01
    相关资源
    最近更新 更多