广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java 使用POI合并两个word文档
  • 233
分享到

java 使用POI合并两个word文档

2024-04-02 19:04:59 233人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

java POI合并两个Word文档 有需要的可以将主函数中写死的地方改为一个List import java.io.FileInputStream; import java.i

java POI合并两个Word文档

有需要的可以将主函数中写死的地方改为一个List


import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
 
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.xWPF.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.xmlbeans.XmlOptions;
import org.openxmlfORMats.schemas.wordprocessingml.x2006.main.CTBody; 
public class MergeDoc {
    public static void main (String[] args) throws Exception {
        InputStream in1 = null;
        InputStream in2 = null;
        OPCPackage src1Package = null;
        OPCPackage src2Package = null;
 
        OutputStream dest = new FileOutputStream("dest.docx");
        try {
            in1 = new FileInputStream("/Users/liuyahui/test.docx");
            in2 = new FileInputStream("/Users/liuyahui/test1.docx");
            src1Package = OPCPackage.open(in1);
            src2Package = OPCPackage.open(in2);
        } catch (Exception e) {
            e.printStackTrace();
        }
 
        XWPFDocument src1Document = new XWPFDocument(src1Package);
        CTBody src1Body = src1Document.getDocument().getBody();
        XWPFParagraph p = src1Document.createParagraph();
        //设置分页符
        p.setPageBreak(true);
        XWPFDocument src2Document = new XWPFDocument(src2Package);
        CTBody src2Body = src2Document.getDocument().getBody();
        appendBody(src1Body, src2Body);
        src1Document.write(dest); 
    }
 
    private static void appendBody(CTBody src, CTBody append) throws Exception {
        XmlOptions optionsOuter = new XmlOptions();
        optionsOuter.setSaveOuter();
        String appendString = append.xmlText(optionsOuter);
        String srcString = src.xmlText();
        String prefix = srcString.substring(0,srcString.indexOf(">")+1);
        String mainPart = srcString.substring(srcString.indexOf(">")+1,srcString.lastIndexOf("<"));
        String sufix = srcString.substring( srcString.lastIndexOf("<") );
        String addPart = appendString.substring(appendString.indexOf(">") + 1, appendString.lastIndexOf("<"));
        CTBody makeBody = CTBody.Factory.parse(prefix+mainPart+addPart+sufix);
        src.set(makeBody);
    } 
}

poi生成word --XWPFDocument 合并


 //两个对象进行追加
    public  XWPFDocument mergeWord(XWPFDocument document,XWPFDocument doucDocument2) throws Exception {
      XWPFDocument src1Document =document ;
      XWPFParagraph p = src1Document.createParagraph();
      //设置分页符
      p.setPageBreak(true);
      CTBody src1Body = src1Document.getDocument().getBody();
      XWPFDocument src2Document = doucDocument2;
      CTBody src2Body = src2Document.getDocument().getBody();
//      XWPFParagraph p2 = src2Document.createParagraph(); 
      XmlOptions optionsOuter = new XmlOptions();
      optionsOuter.setSaveOuter();
      String appendString = src2Body.xmlText(optionsOuter);
      String srcString = src1Body.xmlText();
      String prefix = srcString.substring(0,srcString.indexOf(">")+1);
      String mainPart = srcString.substring(srcString.indexOf(">")+1,srcString.lastIndexOf("<"));
      String sufix = srcString.substring( srcString.lastIndexOf("<") );
      String addPart = appendString.substring(appendString.indexOf(">") + 1, appendString.lastIndexOf("<"));
      CTBody makeBody = CTBody.Factory.parse(prefix+mainPart+addPart+sufix);
      src1Body.set(makeBody);
      return src1Document;
  }

无限合并


  XWPFDocument xmd=list.get(0); //默认获取第一个作为模板
        for (int i=0;i<list.size()-1;i++) {
         xmd=mergeWord(xmd,list.get(i+1)); //相继合并
  }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: java 使用POI合并两个word文档

本文链接: https://www.lsjlt.com/news/130570.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java 使用POI合并两个word文档
    java POI合并两个word文档 有需要的可以将主函数中写死的地方改为一个List import java.io.FileInputStream; import java.i...
    99+
    2022-11-12
  • Java 合并Word文档
    在日常工作中,难免会遇到需要将多个Word文档合并到一个文档中,对其进行重新整理的情况,为了能帮助大家高效快速的完成这个操作,接下来本文就将介绍两种在Java程序中合并Word文档的方法。方法一:如果需要被合并的文档默认从新的一页开始显示,...
    99+
    2023-06-02
  • word怎么合并多个文档
    这篇“word怎么合并多个文档”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“word怎么合并多个文档”文章吧。word合并多...
    99+
    2023-06-30
  • C#中怎么合并多个WORD文档
    C#中怎么合并多个WORD文档,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。今天因为客户需要,需要将多个WORD文档合并成为一个WORD文档。其中,对WORD文...
    99+
    2023-06-17
  • Java SpringBoot集成文件之如何使用POI导出Word文档
    目录前言知识准备什么是POI实现案例Pom依赖导出Word前言 通过Apache POI导出excel,而Apache POI包含是操作Office Open XML(OOXML)标...
    99+
    2022-11-13
    Java SpringBoot集成文件 Java 如何使用POI导出Word文档
  • 利用Java Apache POI 生成Word文档示例代码
    最近公司做的项目需要实现导出Word文档的功能,网上关于POI生成Word文档的例子很少,找了半天才在官网里找到个Demo,有了Demo一切就好办了。 package org.apache.poi.xwpf.usermodel; impo...
    99+
    2023-05-31
    apache poi word
  • 怎么用python将word文档合并
    这篇文章主要为大家展示了“怎么用python将word文档合并”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用python将word文档合并”这篇文章吧。设计思路:   ...
    99+
    2023-06-22
  • 使用Java怎么将多个文档合并输出到一个文档
    这篇文章将为大家详细讲解有关使用Java怎么将多个文档合并输出到一个文档,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。方法:Java NIOpackage First;import...
    99+
    2023-05-30
    java
  • 怎么使用POI将HTML文件转换为Word文档
    这篇文章主要讲解了“怎么使用POI将HTML文件转换为Word文档”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用POI将HTML文件转换为Word文档”吧!首先,我们需要在代码中添加...
    99+
    2023-07-06
  • Java使用POI将多个Sheet合并为一个Sheet
    本文实例为大家分享了Java使用POI将多个Sheet合并为一个Sheet的具体代码,供大家参考,具体内容如下 一、情景描述 最近在项目中客户提到一个新的需求,一开始是在列表查询时导...
    99+
    2022-11-13
  • Java实现合并word文档的示例代码
    目录说明实现1.首先定义好主文档2.定义需要追加的文档3. 代码实现4. 成果展示说明 在做项目中,遇到了一种情况,需要将一个小word文档的内容插入到一个大word(主文档)中。 ...
    99+
    2022-11-13
    Java合并word文档 Java合并word Java合并文档
  • java怎么合并两个文件
    在Java中,可以使用以下方法合并两个文件:1. 使用BufferedReader和BufferedWriter```javaimp...
    99+
    2023-09-14
    java
  • 用python将word文档合并实例代码
    目录背景:设计思路:脚本环境说明:完整代码:功能执行效果图:总结:背景:         由于工作需要,现在有这么一个需求,要合并大量的word文档,而且要在不同的目录下找到同一个人...
    99+
    2022-11-12
  • 利用C#实现合并Word文档功能
    目录程序环境通过插入完整文件来合并文档 完整代码效果图通过克隆内容合并文档 完整代码效果图合并Word文档可以快速地将多份编辑好的文档合在一起,避免复制粘贴时遗漏...
    99+
    2022-12-08
    C#合并Word文档 C#合并Word C# 合并 文档
  • 怎么用C#实现合并Word文档功能
    本文小编为大家详细介绍“怎么用C#实现合并Word文档功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用C#实现合并Word文档功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。程序环境本次测试时,在程序...
    99+
    2023-07-04
  • Linux使用join -a1来合并两个文件
    要合并以下两个文件,一起合并在一起,合并到1.txt中 # 1.txt Jerry 20 Alice 30 David 40 # 2.txt Jerry man Alice woman David 40 合并的后的...
    99+
    2022-06-04
    用join -a1合并文件 linux使用join -a1来合并两个文件
  • 在java后台使用Apache poi 实现生成一个excel文档并提供前台下载
    本篇文章为大家展示了在java后台使用Apache poi 实现生成一个excel文档并提供前台下载,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。step1:创建xls格式的模板表头含有我的甲方信息...
    99+
    2023-05-31
    apache apache poi excel
  • Java使用poi包读取Excel文档代码分享
    项目需要解析Excel文档获取数据,就在网上找了一些资料,结合自己这次使用,写下心得:maven项目需加入如下依赖:<dependency> <groupId>org.apache.poi</groupI...
    99+
    2023-05-30
    java poi 读取excel
  • 如何使用Go来合并两个csv
    这篇文章主要为大家展示了“如何使用Go来合并两个csv”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用Go来合并两个csv”这篇文章吧。背景通常我们处理文件都是用python+pandas...
    99+
    2023-06-25
  • 怎么用一行python代码合并162个Word文件
    这篇文章主要介绍“怎么用一行python代码合并162个Word文件”,在日常操作中,相信很多人在怎么用一行python代码合并162个Word文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用一行py...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作