填充数据到word模板中
来源:互联网 发布:单片机tssop28封装尺寸 编辑:程序博客网 时间:2024/06/04 23:22
昨天写了一篇博客,是导出word模板的。
今天来说一下如何填充数据到模板中。
先上图,合同:
需要在指定需要填充数据的位置,添加标识,这只是初步的标识,
然后,另存为xml格式,会发现,这些标识,可能会发生转义(因为字体,颜色,加粗,下划线等等因素)。如图下:
然后在xml文件中,找到对应标识的位置,改成如下格式。
${zpmc?if_exists}修改后的为:
因为,可能由于数据的问题,某些字段数据并不存在,所以,要在后面加上 ?if_exists
然后,代码如下:
package com;import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.OutputStreamWriter;import java.io.Writer;import java.util.HashMap;import java.util.Map;import freemarker.cache.FileTemplateLoader;import freemarker.cache.TemplateLoader;import freemarker.template.Configuration;import freemarker.template.Template;public class CreateWordT {public static void main(String[] args) {Map<String, Object> cont = new HashMap<String, Object>();// 存储数据cont.put("xmh", "111");cont.put("hth", "222");cont.put("zpmc", "");cont.put("zpsm", "444");cont.put("zpzs", "555");try {//模板的路径File fir = new File("W:/test/wswhr/");//生成文件的路径及文件名。File outFile = new File("W:/test/wswhr/委托创作合同.doc");Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "UTF-8"));// 使用FileTemplateLoader//指定模板路径TemplateLoader templateLoader = null;templateLoader = new FileTemplateLoader(fir);String tempname = "委托创作合同.xml";Configuration cfg = new Configuration();cfg.setTemplateLoader(templateLoader);Template t = cfg.getTemplate(tempname, "UTF-8");t.process(cont, out);out.flush();out.close();} catch (Exception e) {e.printStackTrace();}}}
代码中,t.process(cont,out);
会在模板t中,填充cont的数据,输出到out文件中。
成功后的结果如下:
因为作品名称,我没有放数据,所以为空。
0 0
- 填充数据到word模板中
- MVC5中根据word模板填充数据生成word
- java word 模板 数据填充
- 读取word模板,并写入数据到word文件中
- 通过模板将数据导入到Word中
- Java中根据模板导出数据到word的解决方案
- vb向excel模板中填充数据
- 导excel数据到word模板
- 将XML数据填充到TreeView中
- 把Excel数据填充word模板生成多份word文档
- java控制自动填充数据到world模板
- ejs模板将多个请求的数据填充到一个页面
- PageOffice+C#+SqlServer+Aspose.Word+Aspose.Cells实现上传word模板,通过标签保存填写的数据到数据库中
- vb.net 向Excel模板中填充数据
- 中导出数据到WORD中
- 使用XML模板填充数据
- Delphi中的数据添加到Word模板的相应位置
- 使用C#实现将XML数据填充到TreeView中
- IOS之NSArray 中调用的方法详解(1)
- 利用html5的FileReader对象实现图片预览,利用FormData对象结合struts2实现无刷新文件上传(多参数)
- 我所理解的C++反射机制
- 丑数I II
- iOS国际化
- 填充数据到word模板中
- C++第四次作业
- ms14-068域提权
- 谈谈我对数据结构中栈和队列的理解
- Thinkphp新增字段无法插入到数据库问题
- STM32F769IDiscovery参数
- [一般问题] gradle与gradle wrapper关系,以及版本关系
- Android富文本编辑器总结(一)
- zabbix邮件报警