Ms word 使用Velocity和XDocReport在Word表中动态列数

Ms word 使用Velocity和XDocReport在Word表中动态列数,ms-word,velocity,xdocreport,Ms Word,Velocity,Xdocreport,XDocReport和Velocity可用于使用foreach循环在Word表中创建动态行数。(行前标记和行后标记使此功能更加强大。)但列数必须固定 但有时,在将数据添加到模板之前,我不知道需要多少列。有没有办法动态设置列数?如果这是HTML,我可能很容易做到这一点(只需循环遍历列的数量并在每行中添加另一个TD或TH元素),但是我不知道如何在Word中实现这一点。您可以在docx和velocity-xxx-sample.zip中的docxtablewithoutfieldsdmetadatawi

XDocReport和Velocity可用于使用foreach循环在Word表中创建动态行数。(行前标记和行后标记使此功能更加强大。)但列数必须固定


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

您可以在docx和velocity-xxx-sample.zip中的docxtablewithoutfieldsdmetadatawithvelocity.docx中找到一个带有动态列的示例,您可以或

基本思想是在单元格前/单元格后使用

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


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

这太神奇了!谢谢“我正试图应用你的解决方案,但我没能使它起作用。”。您能否提供一个模板文件作为示例?