常用的方式是先创建一个word.docx文件作为模板,在word.docx中添加书签(主菜单插入/书签),或${key}形式的占位符或aol标签
在java中调用org.anyline.office.entity.Document来替换书签和占位符,解析aol标签
File file = new File("模板文件.docx");
Document doc = new Document(file);
doc.replace("书签名","html片段或纯文本");
doc.replace("key","html片段或纯文本"); //这里只需要key不需要${key}
doc.variable("key", new DataSet()); //复杂的格式
doc.save(); //调用save后 会替换占位符及aol标签
注意占位符和aol标签都是写在word中,而不是document.xml源码中
1.其他SDK太麻烦,不熟悉SDK方法和OPEN XML标签,但是一般程序员都熟悉HTML标签JSTL标签 如设置个字体 Font font = new Font("微软雅黑", 12, FontStyle.Bold); worksheet.getCell(row, col).setCellF
占位符默认${key}的格式 List placeholders = doc.placeholders(); 如果不用默认格式可以提供一个正则表达式 List placeholders = doc.placeholders("\\$\\{.*?
Office Open XML文档格式的详细说明以及规格是在2006年欧洲计算机制造商协会批准的一项标准, 编号是Ecma376 就是用docx(xlsx,pptx)文件中源码的标签说明。因为word主要是微软开发的,为了便于理解标签可以参考.NET相关的接口说明,基本上每个标签都有对应的实体类及方法。特别是xlxs文件为了压缩文件大小用了大量的缩写