在Java中操作Word文档,通常使用Apache POI库。Apache POI是一个强大的Java库,用于读取和写入Microsoft Office格式的文件,包括Word、Excel和PowerPoint等。本文将介绍如何使用Apache POI库来创建、读取和修改Word文档。

一、添加Apache POI依赖

如果你使用Maven管理项目,可以在pom.xml中添加以下依赖:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.3</version> <!-- 请使用最新版本 -->
</dependency>

二、创建Word文档

下面是一个简单的示例,展示如何创建一个新的Word文档并添加一些文本。

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

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

public class CreateWord {
    public static void main(String[] args) {
        // 创建一个空白文档
        XWPFDocument document = new XWPFDocument();

        // 创建一个段落
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        run.setText("Hello, World! 这是我用Java创建的Word文档。");
        run.setBold(true); // 设置为加粗
        run.setFontSize(16); // 设置字体大小
        run.setUnderline(UnderlinePatterns.SINGLE); // 下划线

        // 保存文档
        try (FileOutputStream out = new FileOutputStream("example.docx")) {
            document.write(out);
            System.out.println("文档创建成功!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这个代码中,我们首先创建一个XWPFDocument对象,然后创建一个段落并在其中添加一些文本。最后,我们将文档写入到一个example.docx文件中。

三、读取Word文档

接下来,我们将讨论如何读取已存在的Word文档。以下是一个简单的代码示例,用于读取Word文档中的文本。

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;

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

public class ReadWord {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("example.docx");
             XWPFDocument document = new XWPFDocument(fis)) {

            // 遍历所有段落
            for (XWPFParagraph paragraph : document.getParagraphs()) {
                System.out.println(paragraph.getText());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

此代码会打开名为example.docx的Word文档,并打印出每个段落的文本内容。

四、修改Word文档

最后,我们来看看如何修改现有的Word文档。例如,我们可以在文档的最后添加一个新的段落:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

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

public class ModifyWord {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("example.docx");
             XWPFDocument document = new XWPFDocument(fis)) {

            // 创建新的段落
            XWPFParagraph newParagraph = document.createParagraph();
            XWPFRun run = newParagraph.createRun();
            run.setText("这是我新增的一段文本。");

            // 保存修改后的文档
            try (FileOutputStream out = new FileOutputStream("example_modified.docx")) {
                document.write(out);
                System.out.println("文档修改成功!");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这段代码中,我们通过文件输入流读取现有的example.docx文档,然后向文档的末尾添加一段新的文本。最后,将修改后的文档保存为example_modified.docx

总结

通过本文的介绍,我们学习了如何使用Apache POI库在Java中创建、读取和修改Word文档。这些基本操作为文档处理打下了良好的基础。在实际开发中,你可以根据需要进行更复杂的操作,例如插入图片、表格等,Apache POI提供了丰富的API来满足这些需求。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部