Java读取Excel表格数据的步骤

1. 确定依赖项

在开始之前,我们需要确保项目中已经引入了Apache POI的依赖。Apache POI是一个用于读写Excel文件的Java库。

<!-- Apache POI依赖 -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>

2. 导入所需的类

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.IOException;

3. 读取Excel文件

首先,我们需要创建一个Workbook对象来表示整个Excel文件。Workbook是POI库的核心接口,它代表了整个Excel文件。

// 读取Excel文件
try (FileInputStream file = new FileInputStream("file.xlsx")) {
    Workbook workbook = new XSSFWorkbook(file);
    
    // 在这里进行后续的操作
} catch (IOException e) {
    e.printStackTrace();
}

请确保将file.xlsx替换为实际的Excel文件路径。

4. 读取工作表

接下来,我们需要选择要读取的工作表。一个Excel文件可以包含多个工作表,我们可以使用以下代码选择一个工作表:

// 选择工作表
Sheet sheet = workbook.getSheetAt(0);

这里的0表示选择第一个工作表。如果你想选择其他工作表,只需修改参数即可。

5. 读取行和列

现在,我们可以从选定的工作表中读取每一行和每一列的数据。以下是读取每一行和每一列数据的示例代码:

// 遍历每一行
for (Row row : sheet) {
    // 遍历每一列
    for (Cell cell : row) {
        // 读取单元格的值
        CellType cellType = cell.getCellType();
        switch (cellType) {
            case STRING:
                String value = cell.getStringCellValue();
                System.out.print(value + "\t");
                break;
            case NUMERIC:
                double numericValue = cell.getNumericCellValue();
                System.out.print(numericValue + "\t");
                break;
            case BOOLEAN:
                boolean booleanValue = cell.getBooleanCellValue();
                System.out.print(booleanValue + "\t");
                break;
            // 其他类型的数据处理
            // ...
        }
    }
    System.out.println();
}

这段代码将遍历选定工作表的每一行和每一列,并打印出每个单元格的值。你可以根据实际需求修改代码来处理不同类型的数据。

总结

通过以上步骤,我们可以成功读取Excel文件中每一行每一列的数据。以下是整个流程的流程图:

flowchart TD
    A[开始] --> B[导入依赖项]
    B --> C[导入所需的类]
    C --> D[读取Excel文件]
    D --> E[选择工作表]
    E --> F[读取行和列]
    F --> G[处理单元格数据]
    G --> H[结束]

最后,我们需要注意的是,当操作完Excel文件后,要记得关闭Workbook对象和文件流,以释放资源。