大致流程
制作模板
- 创建word文件
- 做出想要的格式
- 保存至wordxml 2003
- 用NotePad打开
- 将需要填充的地方加上${}
- 将需要循环的地方加上循环标
- 将文件后缀修改为.ftl
Java操作
- 导入freemarker.jar 和 common-lang.jar
- 导入模板,自动填充
- 标签大致等同于 OpenXml 标签
- 换行为 <w:br/>
- 对Tab符需要进行转换,在段首加上,在每段前后加上p标签,然后通过字符串转换来修改。
String[] arrName=strName.split("</p>");
for(int i=0;i<arrName.length;i++) {
if(arrName[i].contains("</p>")) {
arrName[i].replaceAll("</p>", "");
}
}
strName=FtlUtil.getString(arrName);
ftlContentRemark ="<w:p><w:pPr><w:widowControl/><w:ind w:first-line=\"480\" w:first-line-chars=\"200\"/><w:rPr><w:rFonts w:ascii=\"仿宋\" w:h-ansi=\"仿宋\" w:fareast=\"仿宋\" w:cs=\"仿宋\" w:hint=\"default\"/>" +
"<w:kern w:val=\"0\"/><w:sz w:val=\"24\"/><w:sz-cs w:val=\"24\"/></w:rPr></w:pPr>${person.remarks}</w:p>";
复制代码
转载于:https://juejin.im/post/5c11cc9ce51d4532bb09e5b0