Java学习之导出word文档

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java学习之导出word⽂档关键对象:Poi-tl Documentation
学习路径:
代码Demo:
public static void main(String[] args) {
HashMap<String, Object> dataMap = new HashMap<>();
Map<String, Object> data = new HashMap<String, Object>();
ArrayList<Map<String, Object>> dataList = new ArrayList<>();
//封装数据
data.put("username", "demo");
data.put("password", "001");
data.put("head", Pictures.ofLocal("C:\\Users\\Pictures\\Saved Pictures\\ais.jpg")
.size(35, 35).create());
dataList.add(data);
//key要和模板中的开始结束标签保持⼀致
dataMap.put("wordExportTemp", dataList);
try {
String res = wordUtil.tempRender(dataMap);
System.out.println(res);
} catch (Exception e) {
System.out.println("Fail");
}
}
public class wordUtil {
public static String tempRender(HashMap<String, Object> dataMap) throws Exception {
//模板⽂件
String inPut = "D:\\tempword\\data\\wordFile.docx";
//⽣成⽂件
String outPut = "D:\\tempword\\data\\2021-09-15\\exportWord.docx";
//获取模板⽂件数据
XWPFWordExtractor extractor = new XWPFWordExtractor(OPCPackage.open(new FileInputStream(inPut)));
//获取String型模板数据
System.out.println(extractor.getText());
FileOutputStream outputStream = new FileOutputStream(outPut);
//⽤来
ConfigureBuilder builder = Configure.builder();
//⽤默认的⽅式抛出异常
eDefaultEL(true);
//匹配除了标签前后缀外的任意字符
builder.buildGrammerRegex(RegexUtils.createGeneral("{{", "}}"));
//创建结果对象
XWPFTemplate docx = pile(inPut,builder.build());
//数据渲染
docx.render(dataMap);
//数据写出
docx.write(outputStream);
outputStream.flush();
outputStream.close();
docx.close();
return "OK";
}
}
模板:
注意:{{?wordExportTemp}} 中的“wordExportTemp”要和封装数据Map的“key"保持⼀致!
结果。

相关文档
最新文档