项目描述

FreeMarker生成word文档的功能是由XML+FreeMarker来实现的。先把word文件另存为xml,在xml文件中插入特殊的字符串占位符,将xml翻译为FreeMarker模板,最后用java来解析FreeMarker模板,编码调用FreeMarker实现文本替换并输出Doc。

优点:比Java2word功能强大,也是纯Java编程。

详细步骤如下:

将调整好的word 模板,加上一些隐藏的标识,以至于后面要清晰的加上占位符(占位字符不要太复杂,如${10001},这样也方便一共有多少个  不会丢失),在每一个单元框中使用Ctrl+F9进行模板的设置,设置完成后保存。再将word另存为xml 格式的文件,然后直接将xml的后缀该为ftl格式的文件,最终是对ftl文件进行操作:

1.简单的填充  ,在xml中找到上面的占位符对此加上如下: ${name},其中,name是代码中map的key,那么通过代码value会自动填充到对应的位置。

2.如果有多条数据则会使用list,在xml中找到上面的占位符对此加上如下 (中间是你其中的某一代码块,由于太多没有整体复制,代码中全部体现,如果还有问题请联系本人)

3.插入图片,需要在xml中找到上面的占位符对此加上

${image}

在代码中要将图片先转成base64码,然后在通过map传递对应的值。

运行环境

jdk7+IntelliJ IDEA

项目技术(必填)

freemarker

java在线生成word文档_java导出word之FreeMarker生成word文档相关推荐

  1. java 导出word换行_Java 导出数据库表信息生成Word文档

    一.前言 最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~ 先来看看生成的word文档效果吧 下面我们也来一起简单的实现吧 二.Java 导 ...

  2. java 导出word 带格式_java 导出数据为word文档(保持模板格式)

    导出数据到具体的word文档里面,word有一定的格式,需要保持不变 这里使用freemarker来实现: ①:设计好word文档格式,需要用数据填充的地方用便于识别的长字符串替换  如  aaaaa ...

  3. java生成excel文件步骤_java导出Excel文件的步骤全纪录

    一.背景 当前b/s模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用excel打开(电信系统.银行系统).或者是:我们已经习惯用excel打印.这样在我们实际 ...

  4. java导出word纸张方向_java导出word的几种方式

    目前来看,java导出word大致有6种解决方案: 1:Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁.使用Jacob自带的DLL动态链接库,并通过J ...

  5. java 生成sql脚本_java导出insert语句并生成sql脚本

    insertSQL = new ArrayList(); ResultSet rs = null; try { rs = getColumnNameAndColumeValue(sm, listSQL ...

  6. java删除word中批注_Java 添加、回复、删除Word批注

    class="MsoNormal">在word中,批注是一种常用于对特定文档内容进行注解的方法,起到解释说明.标记指正的作用.本篇文章中,将通过Java程序来演示如何来操作批 ...

  7. java excel中重复数据 事务处理_Java导出excel时合并同一列中相同内容的行思路详解...

    一.有时候导出Excel时需要按类别导出,一大类下好几个小类,小类下又有好几个小小类,就像下图: 要实现这个也不难, 思路如下:按照大类来循环,如上就是按照张江校区.徐汇校区.临港校区三个大类循环,然 ...

  8. java在线学习系统源码_Java在线考试系统源码

    今天给大家演示的是一款由jsp+mysql+ssm框架实现的学生在线考试系统,,今天这个考试系统功能比较完善,支持单选.多选.简答题型,试题可以批量导入,导入时可选择多种方式导入,比如导入到试题库,导 ...

  9. java在线学习系统源码_java学习成长之路(基础,源码,项目,实战)

    获取一下学习资源请关注微信公众号:Java编程指南 我为自学编程的或初学java的小伙伴们准备了一整套完整的学习资源和文章,还有我自己在自学路上的一些总结和学习线路,希望能帮到小伙伴们,如果有什么疑问 ...

  10. java 怎么快速找到实现类_JAVA懒开发:FreeMarker快速实现类的增删改查接口

    太懒,不多说看图,mybatis-generator工具执行后的项目结构 这个时候没得额service接口类,和service实现类,也没的controller类 执行引擎工具类BeanGenerat ...

最新文章

  1. 《LeetCode力扣练习》第226题 翻转二叉树 Java
  2. 最新zendframework1.11使用
  3. JSF优点(转载自中国IT实验室)
  4. junit的使用说明
  5. android修改屏幕长宽比例,Android屏幕适配之修改density
  6. SAP License:SAP中的报表利器Report Painter
  7. IOS NSUserDefaults 讲解 用法
  8. Oracle数据库基础知识(二)
  9. 血的教训!千万别在生产使用这些 redis 指令
  10. ftfind 桌面搜索引擎的设计文档 (2)
  11. 彻底删除aix下的oracle rac 数据库,AIX RAC 安装失败完全卸载
  12. 微软:从“开源是毒瘤”到“我爱 Linux”的 20 年
  13. Android 指南针校正
  14. PMP知识点:项目成本管理计算公式
  15. 浙江大学竺可桢学院计算机专业好就业吗,浙大竺可桢学院有多厉害?看了这些数据你就知道了...
  16. android ROM设置默认Launcher(主屏幕应用)
  17. html meat 标签 菜鸟,seo技术之META标签
  18. IEEE802.16e 协议中LDPC编解码原理说明
  19. 直播APP开发:直播源码流媒体技术介绍!
  20. java影射射射...

热门文章

  1. 数据库设计的基本规范和原则
  2. Linux netstat 命令安装
  3. IDEA导入项目出现红色J问题解决
  4. 明解c语言中级篇微盘,明解C语言:中级篇
  5. Potplayer svp 播放60帧视频
  6. 电容或电感的电压_电工入门基础之电容、电感
  7. GB50311-2016标准综合布线
  8. 精品谷歌浏览器chrome插件大汇总!值得收藏
  9. 转载大神LeetCode中文版博客
  10. Tecplot RS 2020 R1安装教程及新功能