1、word模板文件处理,如下图所示在word 文档中填值的地方写入占位变量

2、将word文档另存为xml文件、编辑如下图,找到填写的占位,修改为${bcrxm}格式

3、将文件后缀名改为.ftl文件

4、java处理过程 、 引入frameMark jar 包

5、java代码

一、将需要填充的数据封装到map中、与模板中的占位对应、为什么用map 我也不知道。

二、创建configuration对象

三、设置编码 utf-8

四、获取模板 configuration.setDirectoryForTemplateLoading() 方法、configuration.getTemplate()方法

五、将模板和数据模型合并生成文件 template.process(map, out); //map为封装的数据、out为输出流对象

6、完整代码、configuration.setClassForTemplateLoading 方法有不同的使用方式、可以根据自己的需要选择、具体使用方法、问度娘。

public static  String createWord1(Map dataMap,String templateName,String filePath,String fileName,HttpServletRequest request,HttpServletResponse response){String    fileOnlyName=null;try {//创建配置实例 Configuration configuration = new Configuration();//设置编码configuration.setDefaultEncoding("UTF-8");//ftl模板文件统一放至 template 包下面configuration.setClassForTemplateLoading(Util.class,"/template/");//获取模板 Template template = configuration.getTemplate(templateName,"UTF-8");//重命名fileOnlyName = rename(fileName);//定义路径 统一放到 webappo/hgjc/uploadRoot目录下String servicePath = request.getSession().getServletContext().getRealPath(File.separator);String basePath = ReadConfig.getConfigValue("uploadRoot")+File.separator+ReadConfig.getConfigValue(filePath)+File.separator+fileOnlyName; //输出文件File outFile = new File(servicePath+basePath);//如果输出目标文件夹不存在,则创建if (!outFile.getParentFile().exists()   ){outFile.getParentFile().mkdirs();}//将模板和数据模型合并生成文件 Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile),"UTF-8"));//生成文件template.process(dataMap, out);//关闭流out.flush();out.close();} catch (Exception e) {e.printStackTrace();}return fileOnlyName;}

参考:https://www.cnblogs.com/vitre/p/5619479.html

java根据word模板导出word文件相关推荐

  1. 【Apache POI】Java Web根据模板导出word文件

    最近工作中遇到一个需求:根据word模板文档导出word文件. 查阅了一些资料,发现Apache POI可以实现文档读写的功能,于是就研究了一下,总结如下: Apache-POI在线Javadoc:h ...

  2. poi-tl,根据word模板导出word(表格行循环,表格无表头的情况)

    最近项目里要做一个根据客户提供的word模板导出word的功能,方法有很多,比如easyPoi(对word的支持并不是很好),freeMark(太麻烦不想研究),以及poi-tl, 最后研究了半天发现 ...

  3. java 导出word,java根据提供word模板导出word文档

    本文主要讲解,利用poi-tl在word中动态生成表格行,进行文字.图片填充.一共提供了两种方式,1.基于本地文件 2.基于网络文件 本文讲解思路,1.先看示例,2. 示例对应的代码展示 3. 基本概 ...

  4. Springboot--使用POI,根据word模板导出word文件

    需求:根据一个word模板,在程序中替换模板中的参数,然后根据这个模板导出word文件. 引入POI对word操作的依赖: <dependency><groupId>org.a ...

  5. java利用poi模板导出word文件

    注意:  doc文件的读取,需要导入poi-scratchpad包: docx文件读取,需要导入poi-ooxml包: 一.引入pom <dependency><groupId> ...

  6. freemarker html 换行,java使用freemarker模板导出word,合并单元格,单元格内换行

    之前使用[XWPFDocument][]动态写入word,XWPFDocument不支持2003,word2003需要用HWPFDocument,HWPFDocument对于动态生成行效果不是很好,所 ...

  7. java使用freemarker模板导出word,合并单元格,单元格内换行

    之前使用XWPFDocument动态写入word,XWPFDocument不支持2003,word2003需要用HWPFDocument,HWPFDocument对于动态生成行效果不是很好,所以使用f ...

  8. java通过ftl模板导出word最详细教程

    百度云链接 链接: https://pan.baidu.com/s/1OEzvsFSqAelstDtu2mo5xw 提取码: fdhq https://pan.baidu.com/s/1OEzvsFS ...

  9. 基于Easypoi+jfree,使用SpringBoot架构,Java编程实现word模板导出Word报表

    目录 1.项目目录结构 2.pom.xml添加的依赖 3.编写jfreeutil工具类 4.编写wordutil工具类 5.编写word模板 7.运行效果 8.复杂布局实现 8.1如何实现图片并排 S ...

  10. java根据提供word模板导出word文档

    涉及主要jar包为 freemarker-2.3.10.jar,servlet-api-2.4.jar. (1)首先修改 word模板如下形式,把需要查询写入word的值用${}形式封装 (2)把 w ...

最新文章

  1. eclipse调试详解
  2. Flink再度霸榜,还不上车?
  3. Oracle 检索数据
  4. 购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(3)--Idetity,OWIN前后端验证
  5. FlinkShell用kill -9杀不掉
  6. 运维学python用不上_不会Python开发的运维终将被淘汰?
  7. CSS实现单行与多行文字省略(truncation)
  8. Catch That Cow——BFS
  9. vision transformer(viT)教学视频【通俗易懂】
  10. 关于安装TortoiseSVN.msi 报错2203错误
  11. 操作系统——进程的定义、组成、组织方式、特征
  12. MYSQL列中的数据以逗号隔开,如何查询
  13. Vue常用经典开源项目
  14. python关于sjis编码的错误
  15. scrapy入门之创建爬虫项目+scrapy常用命令
  16. HCIE-RS实验LAB1配置思路
  17. python日历程序编写_Python创建日历实例
  18. 真实场景的双目立体匹配(Stereo Matching)获取深度图详解
  19. java后台 重置手机密码(邮箱点击确认)
  20. 校园闲置物品交易平台毕业设计学习

热门文章

  1. vue 删除页面缓存_VUE清除keepalive页面缓存
  2. 想做个磁力链搜索引擎 1
  3. xp系统共享服务器怎么设置权限,xp系统局域网设置权限不让其他人访问的方法...
  4. 互联网热门词汇搞笑来袭
  5. go基础:xml解析
  6. [C++]求模与求余运算
  7. HWIDGen 激活出错 解决:输入错误: 没有文件扩展“.vbs”的脚本引擎
  8. word自定义目录格式时设置的标题格式不生效
  9. →箭头符号大全复制_特殊符号大全,想要那个自己来复制
  10. 网站备案相关问题解答