欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

freemarker模板生成word文件

程序员文章站 2022-04-30 09:26:04
...

项目中首先引入freemarker的jar包,下载链接:http://download.csdn.net/download/pnljg/2736572

1、用word文档制作好模板 ceshi.docx

freemarker模板生成word文件

2、将ceshi.docx文件另存为ceshi.xml文件

${name}、${tel}、${address}被拆分了,用notpad++打开ceshi.xml文件,将被拆分的数据重新修改,修改完以后将文件另存为ftl模板文件,ceshi.ftl  具体见下图

freemarker模板生成word文件

freemarker模板生成word文件

修改成如下

freemarker模板生成word文件


3、代码如下

public static void createFile(){
    	try {  
            //创建一个合适的Configration对象  
            Configuration configuration = new Configuration();  
            configuration.setDirectoryForTemplateLoading(new File("E:\\test"));  
            configuration.setObjectWrapper(new DefaultObjectWrapper());  
            configuration.setDefaultEncoding("UTF-8");   //这个一定要设置,不然在生成的页面中 会乱码  
            //获取或创建一个模版。  
            Template template = configuration.getTemplate("ceshi.ftl");  
            Map<String, Object> paramMap = new HashMap<String, Object>();  
            paramMap.put("name", "张三");  
            paramMap.put("tel", "19362789462");
            paramMap.put("address", "河南省平顶山市湛河区往东300米,豫森时代新城(李四代收)");
     
              
            Writer writer  = new OutputStreamWriter(new FileOutputStream("E:\\test\\success.doc"),"UTF-8");  
            template.process(paramMap, writer);  
              
            System.out.println("恭喜,生成成功~~");  
        } catch (IOException e) {  
            e.printStackTrace();  
        } catch (TemplateException e) {  
            e.printStackTrace();  
        }  
    }



相关标签: freemarker