最近项目上经常操作word,之前一直用的freemarker这个框架,在网上搜寻了大量的资料,都推荐使用poi-tl这个工具来实现,
这里我就自己写了一个demo,亲自测试了一下,这个word合并果然简单靠谱,需要注意的是:
需要使用jdk1.8以上的来进行编译
主要步骤:
1.导入poi-tl包:
<dependency>
<groupId>com.deepoove</groupId>
<artifactId>poi-tl</artifactId>
<version>1.9.1</version>
</dependency>
2.写测试类:
package com.mischen.mapreduce.wordcount;
import com.deepoove.poi.xwpf.NiceXWPFDocument;
import java.io.FileInputStream;
import java.io.FileOutputStream;
/**
* @ClassName TestMergeWord
* @Description DOTO
* @Author mischen
* @Date 2021/5/13 0013 23:16
* @Version 1.0
**/
public class TestMergeWord {
public static void main(String[] args) throws Exception{
NiceXWPFDocument main = new NiceXWPFDocument(new FileInputStream("C:\\Users\\Administrator\\Desktop\\PMP\\pmp记忆知识点.docx"));
NiceXWPFDocument sub = new NiceXWPFDocument(new FileInputStream("C:\\Users\\Administrator\\Desktop\\PMP\\zookpeer.docx"));
NiceXWPFDocument design = new NiceXWPFDocument(new FileInputStream("C:\\Users\\Administrator\\Desktop\\PMP\\设计模式.docx"));
// 合并两个文档
NiceXWPFDocument newDoc = main.merge(sub).merge(design);
// 生成新文档
FileOutputStream out = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\PMP\\new_doc.docx");
newDoc.write(out);
newDoc.close();
out.close();
System.out.println("合并word成功!");
}
}
没有想到的是1.9.1的版本这么强大,简单的就把几个word合并成了一个最终的word,确实比之前的操作要快,合并得也要快,太好用了!