1、引入包
<!--freemarker word--> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.28</version> </dependency>
2、代码示例片段
//region 把数据放进这个map里面进行填充 Map<String,Object> dataMap = new HashMap(); dataMap.put("ProjectName",PROJECT_NAME); dataMap.put("OpenAddress",OPEN_ADDRESS); dataMap.put("PROJECT_CODE",PROJECT_CODE); dataMap.put("ExtractTime",ExtractTime); dataMap.put("AgentUnit",AgentUnit); dataMap.put("type",type); dataMap.put("OPEN_TIME",OPEN_TIME); dataMap.put("OwnerUnit",OwnerUnit); dataMap.put("Notice_type",Notice_type); dataMap.put("Budget",Budget); dataMap.put("Is_Allowed_Extract_Same_Unit",Is_Allowed_Extract_Same_Unit); dataMap.put("TemporaryExpertList",dt_TemporaryExpert); dataMap.put("TemporaryExpertJoinList",dt_join); dataMap.put("TemporaryExpertNotJoinList",dt_Notjoin); //endregion //region 导出模板文件 参考 https://blog.csdn.net/yihuaiyan/article/details/87965887 //创建模板配置 Configuration configuration = new Configuration(); configuration.setDefaultEncoding("utf-8"); //模板文件的位置 String systemDir = System.getProperty("user.dir"); String sourcePath = systemDir + "\\staticfile"; configuration.setDirectoryForTemplateLoading(new File(sourcePath)); Template template = configuration.getTemplate("临时专家库抽取结果信息.ftl"); //加载---要装载的模板文件 //输出文档路径及名称,注意后缀一定要.doc!不然代码运行完后会打不开 String fileName = LocalDateTimeUtils.convert(LocalDateTime.now(),"yyyyMMddHHmmss") + ".doc"; String path = systemDir + basePath + "/临时专家"+ fileName; File outFile = new File(path); if (!outFile.getParentFile().exists()) { outFile.getParentFile().mkdirs(); } //写入模板 Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile))); template.process(dataMap, out); //导出并删除本地文件 out.close(); DownLoadFileUtil.downloadFile(response,path,fileName,true); //endregion
3、文件处理
第一步:先准备好一个模板,我使用的是比较复杂的模板,浪费了很多时间(建议各位大神制作一个简单的模板测试即可)
第二步:所有要填写内容的地方用 --> ${变量名} 的格式覆盖,这种格式重中之重!!!
第三步:替换好了之后选择一个存储目录另存为 选择 WordXml 文档(*.xml) 这种格式进行存储(网上有说选择Word 2003 Xml(*.xml)也行,本人没测试成功!不知道方法,哈哈)
第四步:找到刚刚你存储的目录,以notepad++打开,刚才存储的.xml文件!先格式化一下,*(最好格式化样式,不然很难找)删掉一些不必要的多余代码。
删除前的样式如下:
删除后的样式保存格式如下—第二步有重点强调:
**最后:把改好的xml文档后缀修改成.ftl格式即可
————————————————
版权声明:本文为CSDN博主「yihuaiyan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yihuaiyan/article/details/87965887