java Word模板数据替换

Maven

<dependency>
    <groupId>com.deepoove</groupId>
    <artifactId>poi-tl</artifactId>
    <version>1.9.1</version>
</dependency>

模板

在这里插入图片描述

实现效果

在这里插入图片描述

核心实现代码

@RestController
public class PoiTlController {

	@GetMapping("/generateWord")
	public ApiReturnObject  generateWord(String data){
			//图片路径,请注意你是linux还是windows
			String wordPath="C:\\Users\\Administrator\\Desktop\\";
			String modelName="人物模板.docx";
			String outputName="hanyunxi.docx";
			Map<String, Object> datas = new HashMap<String, Object>() {
				{
					//本地图片
					put("name","鞠婧祎");
					put("team","前SNH48");
					put("gender","女");
					put("birthday","19940618");
					put("remark","鞠婧祎,1994年6月18日出生于四川遂宁,毕业于四川音乐学院附属中学,中国女演员、歌手,原SNH48 TEAM NII成员[1]");
					put("active",new NumbericRenderData(new ArrayList<TextRenderData>(){{
						add(new TextRenderData("FF00FF", "2013年 以《剧场女神》公演正式出道"));
						add(new TextRenderData("FF00FF", "2014年 拍摄个人首支MV《足球派对》"));
						add(new TextRenderData("FF00FF", "2015年 发行出道两周年EP《青春的约定》"));
						add(new TextRenderData("FF00FF", "2016年 主演玄幻剧《九州天空城》"));
					}}));
					put("tables", new TableRenderData(new ArrayList<RenderData>(){{
						add(new TextRenderData("d0d0d0", "节目"));
						add(new TextRenderData("d0d0d0", "次数"));
					}},new ArrayList<Object>(){{
						add("《SNH星剧院公演》;999");
						add("《敢ZUO敢为女声秀》;4");
						add("《快乐大本营》;2");
					}}, "no datas", 10600));
//				//网路图片
				put("picture", new PictureRenderData(200, 250, ".png", BytePictureUtils.getUrlByteArray("https://pic.baike.soso.com/ugc/baikepic2/18293/cut-20170602162513-2088410512.jpg/300")));

				}
			};

			XWPFTemplate template = XWPFTemplate.compile(wordPath+modelName)
					.render(datas);
			FileOutputStream out;
			try {
				out = new FileOutputStream(wordPath+outputName);
				template.write(out);
				out.flush();
				out.close();
				template.close();
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}


		return ApiReturnUtil.success(data);
	}

}
参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

旭凌

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值