Java POI 写 Word 表格

在 Java 开发中,我们经常需要操作 Word 文档。Apache POI 是一个开源的 Java API,可以用于读写 Microsoft Office 格式的文件,包括 Word 文档。本文将介绍如何使用 Java POI 来写 Word 表格,并给出具体的代码示例。

POI 简介

Apache POI 是一个开源的 Java API,用于读取和写入 Microsoft Office 文件格式(包括 Word、Excel 和 PowerPoint)。它提供了一套 Java 类库,用于处理各种 Office 文档格式,使得 Java 开发人员可以轻松地读写和操作这些文件。

准备工作

在开始之前,我们需要准备以下工作:

  1. 安装 Java 开发环境,确保系统已正确配置。
  2. 下载 Apache POI JAR 文件,将其添加到项目的类路径中。

创建 Word 文档

首先,我们需要创建一个 Word 文档对象。以下是使用 POI 创建一个空的 Word 文档的代码示例:

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

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

        // 保存文档到本地磁盘
        FileOutputStream out = new FileOutputStream("example.docx");
        document.write(out);
        out.close();

        System.out.println("Word 文档创建成功!");
    }
}

在上述示例中,我们使用 XWPFDocument 类创建一个新的空白文档,并将其保存到本地磁盘。

创建表格

接下来,我们将向 Word 文档中添加一个表格。以下是使用 POI 创建一个带有两行三列的表格的代码示例:

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

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

        // 创建一个表格对象
        XWPFTable table = document.createTable(2, 3);

        // 设置表格样式
        CTTblPr tableProperties = table.getCTTbl().getTblPr();
        CTTblWidth tableWidth = tableProperties.addNewTblW();
        tableWidth.setW(BigInteger.valueOf(5000));

        // 填充表格内容
        XWPFTableRow row1 = table.getRow(0);
        row1.getCell(0).setText("姓名");
        row1.getCell(1).setText("年龄");
        row1.getCell(2).setText("性别");

        XWPFTableRow row2 = table.getRow(1);
        row2.getCell(0).setText("张三");
        row2.getCell(1).setText("20");
        row2.getCell(2).setText("男");

        // 保存文档到本地磁盘
        FileOutputStream out = new FileOutputStream("example.docx");
        document.write(out);
        out.close();

        System.out.println("Word 表格创建成功!");
    }
}

在上述示例中,我们首先创建一个表格对象,并指定表格的行数和列数。然后,我们可以使用 getRow() 方法获取指定行的对象,再使用 getCell() 方法获取指定单元格的对象,并通过 setText() 方法设置单元格的文本内容。

导出 Word 文档

最后,我们需要将创建的 Word 文档导出为 Word 文件。以下是将 Word 文档导出为 Word 文件的代码示例:

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

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

        // 创建一个表格对象
        XWPFTable table = document.createTable(2, 3);

        // 填充表格内容...

        // 导出 Word 文档
        FileOutputStream out = new FileOutputStream("example.docx");
        document.write(out);
        out.close();

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

通过将 XWPFDocument 对象写入到文件输出流中,我们可以将 Word 文档导出为 Word 文件。

总结

本文介绍了如何使用 Java POI 来写 Word 表格。我们首先创建一个空白的 Word 文档对象,然后向其中添加表格,并最后将文档导出为