一些比较简单的模板可以直接在Wdocument上执行
WDocument doc = new WDocument(tmp_file);

doc.replace("${name}", "张三");

doc.save();

但有些情况需要遍历如
模板中设置了一行占位符

姓名 年龄
${name} ${age}

这时数据有多行,所以不能通过doc替换。
应该从表中取出模板行,再根据模板行添加多行到table中
在添加的行中执行替换
//先取出模板行 取第1行作模板,
WTr template_tr = table.tr(1);
//实现应该中经常根据点位符来定位模板,如取包含占位符${name}的一行作模板
template_tr = table.tr("${name}");
//根据数据集添加行
for (DataRow row : set) {
	//数据统计放在一个map里
	Map<String,String> replaces = new HashMap<>();
	replaces.put("");
	//根据模板行复制新行,主要是复制字体、颜色等样式
	WTr append_tr = template_tr.clone(true);
	//替换占位符
	append_tr.replace(replaces);
	//添加到table中
	table.insert(template_index++, append_tr);
}