Apache POI 是一个强大的Java库,用于读写Microsoft Office格式的文档,包括Word、Excel和PowerPoint等。使用Apache POI,我们可以轻松地生成和操作Word文档。本文将通过一个简单的示例,演示如何使用Java POI导出一个Word文档。

一、准备工作

首先,我们需要在项目中引入Apache POI的相关依赖。如果你使用的是Maven,可以在 pom.xml 文件中添加以下依赖:

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

二、创建Word文档

接下来,我们可以开始编写代码来导出Word文档。以下是一个基本的示例,展示了如何创建一个Word文档并写入一些内容。

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

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

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

        // 创建段落
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        run.setText("Hello, World!");
        run.setBold(true);
        run.setFontSize(20);

        // 添加一个二级标题
        XWPFParagraph subHeading = document.createParagraph();
        subHeading.setStyle("Heading2");
        XWPFRun subRun = subHeading.createRun();
        subRun.setText("这是一个二级标题");
        subRun.setFontSize(16);

        // 添加一个有序列表
        for (int i = 1; i <= 5; i++) {
            XWPFParagraph listParagraph = document.createParagraph();
            listParagraph.setNumID(document.createNumbering().addNum(null));
            XWPFRun listRun = listParagraph.createRun();
            listRun.setText("列表项 " + i);
        }

        // 添加图片
        try {
            String imgFile = "path/to/image.png"; // 替换为你自己的图片路径
            FileInputStream is = new FileInputStream(imgFile);
            document.addPictureData(is, XWPFDocument.PICTURE_TYPE_PNG);
            document.createPicture(document.getAllPictures().size() - 1, 100, 100, document.getDocument().getBody());
        } catch (Exception e) {
            e.printStackTrace();
        }

        // 保存文档
        try (FileOutputStream out = new FileOutputStream("example.docx")) {
            document.write(out);
        } catch (IOException e) {
            e.printStackTrace();
        }

        System.out.println("Word文档已成功导出!");
    }
}

三、代码解析

  1. 创建文档:使用 XWPFDocument 类来创建一个新的Word文档。
  2. 段落:通过 createParagraph() 方法创建段落,并用 XWPFRun 向段落添加文本。
  3. 标题:设置段落样式为“Heading2”以创建二级标题。
  4. 列表:使用有序列表,以数字形式列出五个项目。
  5. 添加图片:使用 addPictureData() 方法将图片添加到文档中(需确保图片路径正确)。
  6. 保存文档:使用 FileOutputStream 保存文档到本地磁盘。

总结

通过Apache POI库,可以轻松地在Java中创建和操作Word文档。以上示例仅覆盖了基本的使用方法,POI还支持更复杂的操作,如表格、模板填充等。在实际开发中,可以根据需求扩展功能,以满足更多场景的需求。希望本文对您理解如何使用Java POI导出Word文档有所帮助!

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部