记录一次Java生成Word

大致流程

制作模板

  • 创建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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值