word模板内容替换

1.pom引入依赖:

java 复制代码
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.0.5</version>
</dependency>
<dependency>
    <groupId>com.deepoove</groupId>
    <artifactId>poi-tl</artifactId>
    <version>1.10.5</version>
</dependency>

2.写工具类

java 复制代码
package  *****;

import com.deepoove.poi.XWPFTemplate;

import java.io.FileOutputStream;
import java.io.IOException;

public class GenerateWordUtils {
    /**
     *
     * @param path 文件模板路径
     * @param fileName 生成的文件名
     * @param param 需要替换的对象
     */
    public static String generateWord(String path,String fileName,Object param) {
        try {
            XWPFTemplate template = XWPFTemplate.compile(path).render(param);
            template.writeAndClose(new FileOutputStream(fileName));
        } catch (IOException e) {
            e.printStackTrace();
        }
        return fileName;
    }
}

3.调用

例子:

java 复制代码
//相对路径在项目根目录
String path = GenerateWordUtils.generateWord(new String(模板路径path.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8), 文件名fileName, 需替换的结果集resultMap);
//项目路径
String projectPath=System.getProperty("user.dir");
//文件真实路径
String realPath = projectPath+File.separator+path
相关推荐
小白鸽i7 分钟前
【Linux】已安装的软件如何重新构建deb安装包?
linux·运维·服务器
Wang's Blog8 分钟前
Java 项目实战: 交友项目 - Dubbo 启动检查
java·dubbo·交友
零基础12315 分钟前
权限管理怎么做?从“资格”与“空间”双维度设计一套可落地的权限体系
java·服务器·数据库
starzy199020 分钟前
Flink Task 调度任务深度剖析:从调度策略到故障恢复的完整链路
java·大数据·flink
zxanz123 分钟前
该怎么去选择 SSL 证书来使用?有什么方法不
服务器·网络协议·ssl
无风听海26 分钟前
深入理解.NET中的 Lazy<T>
服务器·php·.net
开开心心_Every28 分钟前
文件查重软件批量删除重复文件释放空间
java·开发语言·c#·计算机外设·ocr·excel·perl
Wang's Blog34 分钟前
Java 项目实战: 交友项目 - 技术架构与选型剖析
java·架构·交友
我是大猴子35 分钟前
一些八股和限流措施
java
认真的小羽❅44 分钟前
ThreadLocal 在虚拟线程间要小心
java·开发语言·jvm