Java POI 使用方法

Java POI(Apache POI)是一个强大的开源库,专门用于处理 Microsoft Office 格式的文件,包括 .xls.xlsx (Excel),.doc.docx (Word),以及 .ppt.pptx (PowerPoint)等。本文将介绍如何使用 Java POI 进行 Excel 文件的读写操作,并提供相应的代码示例。

1. 环境配置

在开始之前,我们需要在项目中引入 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>

2. 创建 Excel 文件

首先,我们来看如何创建一个简单的 Excel 文件。

import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

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

public class CreateExcel {
    public static void main(String[] args) {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sheet1");

        for (int i = 0; i < 10; i++) {
            Row row = sheet.createRow(i);
            row.createCell(0).setCellValue("Row " + i);
        }

        try (FileOutputStream fileOut = new FileOutputStream("example.xlsx")) {
            workbook.write(fileOut);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                workbook.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

在上述代码中,我们创建了一个新的 Excel 文件,包含一张名为 "Sheet1" 的工作表,并在每一行中添加了文本 "Row i"。

3. 读取 Excel 文件

接下来,我们将学习如何读取刚才创建的 Excel 文件。

import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

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

public class ReadExcel {
    public static void main(String[] args) {
        try (FileInputStream fileInp = new FileInputStream("example.xlsx");
             Workbook workbook = new XSSFWorkbook(fileInp)) {
             
            Sheet sheet = workbook.getSheetAt(0);
            for (Row row : sheet) {
                System.out.println(row.getCell(0).getStringCellValue());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这段代码中,我们打开了同一个 Excel 文件,并读取了每一行的第一个单元格的内容,打印到控制台。

4. 旅行图示

在此部分,我们将使用 Mermaid 语法创建一个旅行过程的图示。以下是一个简化的旅行过程示例,包括出发、到达目的地和返回的步骤。

journey
    title 旅行过程
    section 规划旅行
      确定目的地: 5: 旅客
      预订机票: 4: 旅客
      预定酒店: 3: 旅客
    section 旅行
      出发: 5: 旅客
      到达目的地: 5: 旅客
      返回:4: 旅客

5. 关系图示

我们也可以使用 Mermaid 创建一个简单的实体关系图,展示 用户订单 之间的关系。

erDiagram
    USER {
        int id
        string name
        string email
    }
    ORDER {
        int id
        string order_date
        float amount
    }
    USER ||--o{ ORDER : places

在上面的代码中,我们展示了 用户 表与 订单 表之间的一对多关系。每个用户可以创建多个订单。

6. 结尾

通过本文的介绍,您应该对如何使用 Java POI 库进行 Excel 文件的读写有了初步的了解。Apache POI 使得 Java 开发者能够方便地处理 Office 文档,极大地提升了工作效率。希望您在今后的项目中愉快地使用这一工具!