DocX4:如何使用快速部分字段在 word docx 中添加 table 并使用 table 写入该模板

DocX4: How to add table in word docx using Quick part field and write to that template with a table

我想在我的 docx 模板中添加 table。我知道如何只用一个简单的字段来完成它,以及如何使用该模板并将值写入其中。但是我怎样才能创建一个 table 并写入模板。假设我有一个 Students 对象列表,我该如何将其写入 table?

这是添加字段名称的方式。

Quick Parts > Fields > Choose MergeField in the category and write the desired field name

下面是如何使用 docx4j 向其中写入值

Map<DataFieldName, String> map = new HashMap<DataFieldName, String>();
map.put(new DataFieldName("myName"),"yourName");
                MailMerger.setMERGEFIELDInOutput(MailMerger.OutputField.DEFAULT);

MailMerger.performMerge(template, map, true);

template.save(new File("C:/temp/OUT_SIMPLE.docx") );

假设您希望每个列表项占一行,最简单的方法是遍历列表,编写 table 行。

要生成 suitable 代码,请创建一个带有 table 外观的 Word 文档,然后 generate corresponding code.

或者,您可以使用 OpenDoPE 内容控制数据绑定,围绕 table 行重复。这是一个更通用的解决方案,但有一个学习曲线...