Java Workbook 打开 Excel

在Java中,我们可以使用各种库来处理Excel文件。其中一个常用的库是Apache POI,它提供了一组API来读取和写入Excel文件。在本文中,我们将使用Apache POI来打开和读取Excel工作簿。

安装 Apache POI

要使用Apache POI,首先需要将其添加为依赖项。在Maven项目中,可以在pom.xml文件中添加以下依赖项:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>

在Gradle项目中,可以在build.gradle文件中添加以下依赖项:

dependencies {
    implementation 'org.apache.poi:poi:4.1.2'
}

完成依赖项的添加后,我们就可以开始使用Apache POI来打开Excel工作簿了。

打开 Excel 工作簿

要打开一个Excel工作簿,首先需要创建一个Workbook对象。Workbook是Apache POI中表示Excel文件的顶级接口。具体的实现类有HSSFWorkbook(用于处理旧的.xls格式文件)和XSSFWorkbook(用于处理新的.xlsx格式文件)。

下面的代码示例演示了如何打开一个Excel工作簿:

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

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

public class ExcelReader {

    public static void main(String[] args) {
        try {
            // 打开 Excel 文件
            FileInputStream file = new FileInputStream(new File("path/to/excel.xlsx"));

            // 创建工作簿对象
            Workbook workbook = new XSSFWorkbook(file);

            // 处理工作簿内容...

            // 关闭文件流
            file.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的代码中,我们首先创建了一个FileInputStream对象,用于打开指定路径的Excel文件。然后,我们使用XSSFWorkbook类创建了一个工作簿对象。这里假设我们使用的是.xlsx格式的文件,如果是旧的.xls格式文件,可以使用HSSFWorkbook类。

读取 Excel 工作簿内容

一旦我们成功地打开了Excel工作簿,就可以开始读取其内容了。Apache POI提供了一组API来处理工作簿、工作表和单元格。

下面的代码示例演示了如何读取工作簿中的数据:

// 获取第一个工作表
Sheet sheet = workbook.getSheetAt(0);

// 遍历每一行
for (Row row : sheet) {
    // 遍历每个单元格
    for (Cell cell : row) {
        // 处理单元格内容
        switch (cell.getCellType()) {
            case STRING:
                System.out.print(cell.getStringCellValue() + "\t");
                break;
            case NUMERIC:
                System.out.print(cell.getNumericCellValue() + "\t");
                break;
            case BOOLEAN:
                System.out.print(cell.getBooleanCellValue() + "\t");
                break;
            case BLANK:
                System.out.print("BLANK\t");
                break;
            default:
                System.out.print(cell + "\t");
        }
    }
    System.out.println(); // 换行
}

在上面的代码中,我们首先获取第一个工作表对象。然后,我们使用两个嵌套的循环遍历每一行和每个单元格,并根据单元格类型打印其内容。

总结

本文介绍了如何使用Apache POI来打开和读取Excel工作簿。我们首先添加了Apache POI的依赖项,然后使用Workbook接口创建了一个工作簿对象,并通过遍历工作表和单元格来读取其内容。希望本文对你理解Java中如何处理Excel文件有所帮助。

状态图

下面是一个状态图,描述了打开Excel工作簿的过程:

stateDiagram
    [*] --> 打开文件
    打开文件 --> 创建工作簿对象
    创建工作簿对象 --> 处理工作簿内容
    处理工作簿内容 --> 关闭文件流
    关闭文件流