java按模板生成word文档

java如何根据模板填充数据生成word文档 阅读详情

java按模板生成word文档

首先看模板样式
在这里插入图片描述

导入依赖

<!--word模板生成相关-->
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>4.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.jfree</groupId>
            <artifactId>jcommon</artifactId>
            <version>1.0.24</version>
        </dependency>
        <dependency>
            <groupId>org.jfree</groupId>
            <artifactId>jfreechart</artifactId>
            <version>1.5.0</version>
        </dependency>

代码

public static void main(String[] args) {
        Map<String, Object> map  = new HashMap<>();
        map.put("examneename","乌尔");//考生姓名
        map.put("gender","男");//性别
        map.put("age","34");//年龄
        map.put("examnum","1101010101111");//准考证号
        map.put("idcard","110302198907210056");//身份证
        map.put("examunit","大银行");//报名单位
        map.put("exampost","大堂经理");//报名岗位
        //图片生成
        ImageEntity imageEntity = new ImageEntity();
        imageEntity.setHeight(190);//图片高度
        imageEntity.setWidth(140);//图片宽度
        imageEntity.setUrl("D:\\intelliJ_workspace\\人事管理报名系统\\文件\\大美丽.png");//图片路径
        imageEntity.setType(ImageEntity.URL);
        map.put("testcode",imageEntity);//图片对象
        try {
        //模板路径
            XWPFDocument doc = WordExportUtil.exportWord07(
                    "D:\\intelliJ_workspace\\人事管理报名系统\\文件\\准考证.docx",map);
            //生成的文档路径
            FileOutputStream fos = new FileOutputStream(
                    "D:\\intelliJ_workspace\\人事管理报名系统\\文件\\image3.docx");
            doc.write(fos);
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

运行main方法
最后看结果:
在这里插入图片描述

循环表格生成
引入依赖

<dependency>
     <groupId>org.apache.poi</groupId>
     <artifactId>ooxml-schemas</artifactId>
     <version>1.4</version>
</dependency>

模板表格准备
在这里插入图片描述

 public static void main(String[] args) {
//
        Map<String, Object> map  = new HashMap<>();
        map.put("examneename","乌尔");//考生姓名
        map.put("gender","男");//性别
        map.put("age","34");//年龄
        map.put("examnum","1101010101111");//准考证号
        map.put("idcard","110302198907210056");//身份证
        map.put("examunit","大银行");//报名单位
        map.put("exampost","大堂经理");//报名岗位
        //图片生成
        ImageEntity imageEntity = new ImageEntity();
        imageEntity.setHeight(190);//图片高度
        imageEntity.setWidth(140);//图片宽度
        imageEntity.setUrl("D:\\intelliJ_workspace\\人事管理报名系统\\文件\\大美丽.png");//图片路径
        imageEntity.setType(ImageEntity.URL);
        map.put("testcode",imageEntity);//图片对象

        //模拟表格数据
        ArrayList<HashMap<String,String>> list1 = new ArrayList<>(2);
        HashMap<String,String> temp = new HashMap<>(6);
        temp.put("sn","2022.11.14 09:00 - 2022.11.14 10:00");
        temp.put("subject","公共安全");
        temp.put("examaddress","信阳市浉河区某某路**号");
        temp.put("examsite","幸福中学");
        temp.put("examroom","第一考场");
        temp.put("examseatnum","1");
        list1.add(temp);
        temp = new HashMap<>(6);
        temp.put("sn","2022.11.14 10:30 - 2022.11.14 11:30");
        temp.put("subject","岗位技能");
        temp.put("examaddress","信阳市浉河区某某路**号");
        temp.put("examsite","幸福中学");
        temp.put("examroom","第一考场");
        temp.put("examseatnum","1");
        list1.add(temp);
        temp = new HashMap<>(6);
        temp.put("sn","2022.11.14 14:30 - 2022.11.14 15:30");
        temp.put("subject","职业能力");
        temp.put("examaddress","信阳市浉河区某某路**号");
        temp.put("examsite","幸福中学");
        temp.put("examroom","第一考场");
        temp.put("examseatnum","1");
        list1.add(temp);
        map.put("examinfolist",list1);

        try {
            XWPFDocument doc = WordExportUtil.exportWord07(
                    "D:\\intelliJ_workspace\\人事管理报名系统\\文件\\准考证01.docx",map);
            FileOutputStream fos = new FileOutputStream(
                    "D:\\intelliJ_workspace\\人事管理报名系统\\文件\\image3.docx");
            doc.write(fos);
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

运行后:
在这里插入图片描述

JAVA根据ftl模板生成需要的多表格word文档 阅读详情

相关推荐

java poi-tl 根据模板生成word、合并多个word文档

java poi-tl 根据模板生成word、合并多个word文档

theScoreONE的博客 3201

java用模板生成word(docx)文档(含动态表格)

java导出word

weixin_70280523的博客 1万+

【导出Word】如何使用Java+Freemarker模板引擎,根据XML模板文件生成Word文档(只含文本内容的模板)

Word文件有两种后缀格式,分别是:doc和docx,doc是Word2003之前使用的,docx是Word2007之后使用的,可以说docx是对doc的扩展和优化。我这篇文章中使用的Word模板文件就是利用docx后缀的,核心思想是将docx文件转换成对应的XML文件,然后修改XML文件中的内容,将其改成Freemarker模板引擎中的占位符,之后通过Freemarker渲染程序将占位符替换成实际的数据,并且将替换之后的模板文件转换成docx文档,这样就实现了根据模板文件生成Word文档啦。

✅ Java 开发工程师 5877

JAVA 基于模板生成 Word 文件

基于模板生成 Word 文档是一种常见的需求,特别是在需要生成带有固定格式和动态数据的报表或文档时。本篇文章采用 Freemarker 模板引擎为例,详细描述了从编写 Word 模板到 Java 中基于模板填充参数并生成 Word 文档的过程。附带完整测试 Demo 代码以及测试过程图片。

凭心而动 1万+

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

上面是java 利用word模板生成的一个word报告文档,利用的是第三方类库Poi-tl 是实现的。poi-tl网址,之前也用过其他几种生成word的方式,比如,直接用Apache POI去生成等,不过都比较麻烦一点,最后比较之后选择了用这个类库。下面给大家上代码教程。

洛阳泰山的博客 5693

Java基于Word模板书签动态生成文档实战

Apache POI是一个开源的Java API,用于读写Microsoft Office格式文件,支持Excel(HSSF/XSSF)、Word(HWPF/XWPF)、PowerPoint(HSLF/XSLF)等多种文档类型。其核心设计理念是通过对Office二进制和OpenXML格式的逆向解析,提供统一的编程接口来操作这些复杂的文档结构。对于Word文档处理而言,XWPF组件承担了处理.docx文件的主要职责。通过面向接口编程,可以解耦具体生成逻辑与调用方。定义如下核心接口:/**

weixin_30600615的博客 1096

java word 模板_java通过word模板生成word文档

publicstaticvoidmain(String[]args){//模板、文件、图片路径StringworkPath=System.getProperty("user.dir")+"/static-utils/src/main/resources/word/";StringtemplateName="test.docx";Mapdatas=newHashMap()...

weixin_29029995的博客 1023

使用Java和FreeMarker模板引擎生成Word文档示例

本文还有配套的精品资源,点击获取 简介:在企业级应用中,使用Java操作Word文档是常见需求。本示例将演示如何利用FreeMarker这一开源库生成Word文档。涉及流程包括引入FreeMarker库、定义Word模板、准备数据模型、配置FreeMarker和合并数据生成文档。示例代码展示了具体实现步骤和模板文件定义。FreeMarker支持生成多种文本格式,包括Word...

weixin_35006125的博客 1842

Java 如何根据模板高效生成Word文档

通过Java根据模板生成Word文档,可以大幅提升办公和文档管理效率。文本占位符方式:操作简单,适合快速生成标准化文档书签方式:灵活精准,适合复杂文档场景在实际项目中,也可以结合两种方法,既使用占位符替换文本,又在书签位置插入表格或图表,满足复杂文档自动化需求。

SunnyDays1011的博客 503

使用Java POI库模板快速生成Word文档

Java POI库是一个开源的Java库,能够用来读写Microsoft Office格式的文件,尤其在处理文档(DOC和DOCX格式)和电子表格(XLS和XLSX格式)方面功能强大。其主要优势在于提供了跨平台的支持和对原有文档格式的无缝兼容,这使得Java程序可以方便地创建和编辑各种办公文档。模板是文档处理中的重要元素,它定义了文档的布局、格式和样式。使用模板可以快速创建具有统一风格的文档,从而提高工作效率。

weixin_28895791的博客 1324

源码编译部署篇(二)源码编译milvus成功后如何启动standalone并调试成功!

由于Milvus官方文档只提及如何使用docker安装部署Milvus,关于源码安装方式篇幅较少,因此,我整理撰写了如何通过源码编译方式成功安装Milvus,详见此篇。之所以选择这种复杂的安装方式,可以调试源码进而熟悉Milvus如何搭建整个框架支持AI上层应用功能。根据上篇步骤部署虽然可以成功,然而,我却不能成功启动Milvus服务,这个问题困扰了一两天,现在终于得以解决并能成功调试Milvus源码。接下来,分为三个部分介绍如何启动和成功调试。

qq_43893755的博客 3369

java根据word模板生成word文档_根据Word模板生成Word文件 (JAVA POI)

需求通过提前准备的word模板,渲染填充数据,生成新的加工好的word文件。(也试过使用Freemarker渲染数据,但是有个很大的弊端:使用Freemarker渲染的后文件会变大)用法POI的Maven依赖org.apache.poipoi3.8需要将模板参数设置成如下格式, 另存为word文档即可 直接放代码,仅供参考import com.cloudlead.common.worker.cli...

weixin_29802189的博客 2107

UFS逻辑单元管理

介绍UFS 逻辑单元管理和配置

m0_51720747的博客 1950

Java 读取 Word 模板文档并替换内容生成新文档

嘿,朋友们!在实际开发中,经常会遇到需要根据 Word 模板生成特定文档的需求,比如合同、报告等。咱们可以使用 Apache POI 库来读取 Word 模板文档,然后替换其中的指定内容,最后生成新的文档。下面我就详细给大家讲讲具体怎么做。

十年磨一剑,java开发各种业务系统 1466

2024最新版Anaconda Navigator安装使用指南

本文简要介绍如何下载安装Anaconda Navigator最新版,以及如何使用Python内核搭载来完成应用程序开发。

jackson_lingua的博客 1万+

【华为OD机试】真题A卷-Linux发行版的数量(Python)

【华为OD机试】真题A卷-Linux发行版的数量(Python):Linux操作系统有多个发行版,distrowatch.com提供了各个发行版的资料。这些发行版互相存在关联,例如Ubuntu基于Debian开发,而Mint又基于Ubuntu开发,那么我们认为Mint同Debian也存在关联。 发行版集是一个或多个相关存在关联的操作系统发行版,集合内不包含没有关联的发行版。给你一个nxn的矩阵isConnected,其中isConnected[i][i]=1表示第i个发行版和第j个发行版直接

u014481728的博客 944

java word模板 变量,Java-POI替换Word模板文档中的变量,生成Word文档

第一步:在项目中导入POI的jar包,以及相关的jar包。所需的jar包列表: 下载地址:http://download.youkuaiyun.com/download/qq_34908167/10046670第二步:建立util工具类。public class DocxUtil{/*** @Description: 将t中的字段转换成替换模板需要的数据${字段}-->字段值* 在word模板...

weixin_39783149的博客 1300

1-Spring Security OAuth2专栏介绍

我自己 我是码农小胖哥,一名后端软件工程师,有多年的后端开发经验,同时也是一名热衷于技术分享、拥抱开源的技术博主。我的技术栈主要是Java、Python、Kotlin,欢迎各位同行进行交流和分享。 个人技术公众号:码农小胖哥 个人博客:https://felord.cn Gitee: https://gitee.com/felord 你可以通过以上方式和我交流、解决学习中的疑难杂症。 2021年开源Spring Security 干货系列教程,2022年又开源Spring Security进阶版,帮

码农小胖哥 7939

java根据word模板导出_java如何根据word模板生成word文档

展开全部先下载jacob_1.10.1.zip。解压后将jacob.dll放到windows/system32下面或\j2sdk\bin下面。将jacob.jar加入项目。/** Java2word.java** Created on 2007年8月13日, 上午10:32** Tochange this template, choose Tools | Template Manager* and...

weixin_28871989的博客 574

详解FreeRTOS:低功耗Tickless模式(高级篇—7)

FreeRTOS提供了一个叫做Tickless的低功耗模式,本篇博文我们就来学习一下如何使用这个Tickless模式。

不脱发的程序猿 1899

【机器人学】常用的小车底盘运动学模型推导(附C++代码)

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对小车底盘运动学模型介绍做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容对于小车的分析,仅仅考虑XY轴的线速度和Z轴的角速度,不考虑和横滚和俯仰的速度,【防盗标记–盒子君hzj】也不考虑Z轴的高度变化【即:车底盘的运动可以用三个独立变量来描述:x轴平动、y轴平动、yaw轴转动】

qq_35635374的博客 1932

java根据ftl模板生成word文档

java根据ftl模板生成word文档

Tarzan的博客 8099

S7-200SMART 的运动控制(一)向导配置具体步骤(图文)

S7-200SMART 的运动控制(一)向导配置具体步骤(图文)

Robot_PLC_HMI_Automation 3851

java 根据模板文件生成word文档——doc

java 根据模板文件生成word文档——doc功能描述环境说明步骤第一步 制作xml第二步 制作模板第三步 写Java工具类 功能描述 实现批量生成标识签,及生成多页的文档(图中二维码也属于数据一部分),如下图: 环境说明 Java office 2016专业版 FreeMarker 步骤 第一步 制作xml 新建word,制作带有数据的模板(如果有图片随便插入一个图片占位)。然后将word文...

qq_33334411的博客 2487

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

JAVA根据模板生成Word文档

JAVA根据模板生成Word文档

qq_37244098的博客 3188

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

基于Java模板技术动态生成Word文档

一.使用word文档编辑好模版,如下图: 编辑好模板之后选择另存为,保存为xml格式。 二.编写java代码 采用的是FreeMarker模板引擎。需要下载对应的jar包,如果用的是Maven,只需在pom.xml中加入以下代码即可。 org.freemarker freemarker 2.3.25-incubating Ser

勿忘初心的博客 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: sql--批量操作数据
下一篇: vue 相同列合并(复制粘贴可用)
hellotutu
博客等级 码龄7年 102粉丝 53原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值