在生信工作中,我们经常会需要自动化出word报告,推荐使用java的freemaker模块处理。

首先需要自己在word内做出模板,并将需要填充的内容更改为${name}这样的格式,例如:

然后将docx文件另存为xml文件,用记事本打开查看更改的内容是否正常。

pom管理的在pom.xml中添加依赖模块,或者直接下载对应的jar包加入到环境

<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.31</version>
</dependency>

添加生成docx文件的代码

import freemarker.template.Template;
import freemarker.template.Configuration;import java.io.*;
import java.util.Map;public class WriteDocx {private Configuration loadConfigue (String template) {Configuration cfg = new Configuration(Configuration.VERSION_2_3_31);cfg.setDefaultEncoding("UTF-8");try {File templatePath = new File(template);cfg.setClassForTemplateLoading(WriteDocx.class, templatePath.getParent());} catch (Exception e) {e.printStackTrace();}return cfg;}public void writeTemplate (String template, String outpath, Map<String, String> hashmap) {Configuration cfg = loadConfigue(template);try {File f_o = new File(outpath);BufferedWriter fileOutputStream = new BufferedWriter (new OutputStreamWriter (new FileOutputStream(f_o),"UTF-8"));Template temp = cfg.getTemplate((new File(template)).getName());temp.process(hashmap, new BufferedWriter(fileOutputStream));} catch (Exception e) {e.printStackTrace();}}
}

添加main函数

import java.io.IOException;
import java.util.HashMap;public class PDF2Docx {public static void main(String[] args) throws IOException {HashMap HASHMAP = new HashMap<>();HASHMAP.put("name", "咩咩");HASHMAP.put("sex", "male");HASHMAP.put("age", "99");final String outPath = args[0];String template = "templates/template.xml";WriteDocx writeDocx = new WriteDocx();writeDocx.writeTemplate(template, outPath, HASHMAP);}}

如果需要动态填充列表,就将HashMap写入到ArrayList即可,并在xml添加列表循环。

java自动化word报告相关推荐

  1. java生成word报告echart_Java这几个用 Pyecharts 做出来的交互图表,领导说叼爆了!...

    作者 | 旧时晚风拂晓城 编辑 | JackTian 来源 | 杰哥的IT之旅(ID:Jake_Internet) 转载请联系授权(微信ID:Hc220066) 一.Pyecharts简介和安装 1. ...

  2. python自动生成word报告_python自动化生成分析报告,让你的工作效率提升10倍+

    打开搜狗搜索APP,查看更多精彩资讯 如果你每天都需要输出分析报告,报告模式基本一致,只是更换里面的分析数据,每天重复着同样的工作,费时费力,工作能力没有丝毫的提升,但是如果你学过python,你就可 ...

  3. Java如何输出Word报告

    目录 思路: 注意事项 很多企业每月或每季都会出销售报告或绩效报告等,通常都是以PPT文件的形式上报给公司领导或客户. 因PPT在java运用中有所局限(有精通此方面的同行可具体沟通)本人做过的项目则 ...

  4. Java 使用word模板创建word文档报告教程

    上面是java 利用word模板生成的一个word报告文档,利用的是第三方类库Poi-tl 是实现的. poi-tl是一个基于Apache POI的Word模板引擎,也是一个免费开源的Java类库,你 ...

  5. java项目总结范文_2018年java项目总结报告-范文word版 (7页)

    本文部分内容来自网络,本司不为其真实性负责,如有异议或侵权请及时联系,本司将予以删除! == 本文为 word 格式,下载后可随意编辑修改! == java 项目总结报告 java 项目 总结 报告怎 ...

  6. Word处理控件Aspose.Words功能演示:在 Java 中将 Word DOC/DOCX 转换为 PDF

    Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word. A ...

  7. 2021 年 Java 开发者生产力报告

    责编 | 丁恩华 出品 | CSDN(ID:CSDNnews) 新的 2021 年,Perforce 公司依然没有 "爽约".前不久,这家公司发布了其第九份年度全球 Java 开发 ...

  8. 西电java实验报告 界面_西电计算机Java上机实验报告.docx

    西电计算机Java上机实验报告.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...

  9. Java课程设计报告--绩效考核信息管理系统

     Java课程设计报告 题目      绩效考核信息管理系统    学生姓名         学    号                   院    系        年级专业计算机科学与技术 班 ...

最新文章

  1. python 获取网络图片的大小
  2. 【Android WebSocket】Android 端 WebSocket 基本用法 ( 添加依赖和权限 | 创建 WebSocketClient 客户端类 | 建立连接并发送消息 )
  3. 结构体在内存中的对齐规则
  4. python爬虫的技能_python-爬虫技能升级记录
  5. g++编译时:No such file or directory
  6. 【C语言简单说】十一:switch 补
  7. MATLAB入门(二)
  8. 前端学习(2753):创建新页面和页面配置
  9. 在win server 2003上安装SQL Server 2008的步骤
  10. lnmp架构搭建—源码编译(nginx、mysql、php)
  11. Mac安装Cobalt Strike 4 【亲测有用】
  12. php中mysql的增删_PHP MySql增删改查的简单实例
  13. 亿级流量系统架构之如何支撑百亿级数据的存储与计算
  14. markdown与latex:数学符号远远大于\gg和远远小于书写\ll
  15. PHP关于函数的参数问题
  16. express在本地起一个简单服务器可能会用到的(本文用的uniapp做例子)
  17. 非常好用的jdk帮助文档jdk1.8中文谷歌翻译
  18. 特斯拉Model 3进化不止 传统车企到底应该学什么?...
  19. Reactor3 Mono
  20. ARM CORTEX M3

热门文章

  1. Miktex2.9使用Wondows系统字体相关设置
  2. 学习编程与学习编程语言不同
  3. 重复博弈reapted games
  4. m蜂窝移动通信系统中越区切换的matlab仿真分析
  5. 学习Emacs系列教程
  6. NLP-对话聊天机器人
  7. Python笔记_81_结算页面_订单模型_优惠券
  8. 微信小程序项目实例——二维码生成器
  9. NLP(7): Word Sense Disambiguation and CKY
  10. FMM和BMM的python代码实现