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); }