要使用Apache POI库来操作Word文档,需要添加相应的依赖项。在pom.xml文件中添加以下依赖项:

<dependencies>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>5.2.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>5.2.2</version>
    </dependency>
</dependencies>

然后,可以使用以下代码将input01.docx文件的内容复制到input03.docx文件的“应变计”书签位置,并将新文件保存为input04.docx:

import org.apache.poi.xwpf.usermodel.*;

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

public class WordDocumentCopy {
    public static void main(String[] args) {
        String sourceFileName = "input01.docx";
        String targetFileName = "input03.docx";
        String outputFileName = "input04.docx";
        String bookmarkName = "应变计";

        try (FileInputStream sourceFile = new FileInputStream(sourceFileName);
             FileInputStream targetFile = new FileInputStream(targetFileName);
             FileOutputStream outputFile = new FileOutputStream(outputFileName)) {

            XWPFDocument sourceDoc = new XWPFDocument(sourceFile);
            XWPFDocument targetDoc = new XWPFDocument(targetFile);

            // 获取目标文档的书签
            XWPFBookmark bookmark = targetDoc.getBookmark(bookmarkName);

            if (bookmark != null) {
                // 获取目标书签的段落
                XWPFParagraph bookmarkParagraph = bookmark.getParagraph();
                // 获取目标书签的段落索引
                int bookmarkParagraphIndex = targetDoc.getPosOfParagraph(bookmarkParagraph);

                // 创建新文档的段落列表
                for (XWPFParagraph sourceParagraph : sourceDoc.getParagraphs()) {
                    XWPFParagraph newParagraph = targetDoc.createParagraph();
                    newParagraph.getCTP().setPPr(sourceParagraph.getCTP().getPPr());
                    newParagraph.getCTP().setRArray(sourceParagraph.getCTP().getRArray());
                    targetDoc.setParagraph(newParagraph, bookmarkParagraphIndex++);
                }
            }

            // 保存新文档
            targetDoc.write(outputFile);
            System.out.println("内容已复制到新文档并保存为" + outputFileName);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

确保在运行代码之前,将input01.docx和input03.docx文件放在相应的目录下。运行上述代码后,将在相同目录下生成input04.docx文件,其中包含从input01.docx文件复制的内容,并且该内容位于input03.docx文件的“应变计”书签位置。

将input01docx文件里的所有内容复制到input03docx文件里的应变计书签位置将新文件以input04docx进行保存Apache POI库为522版本

原文地址: https://www.cveoy.top/t/topic/h7ux 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录