使用 Java 读取 Excel 文件中的数据

MS Excel 文件主要用于以工作表的形式保存表格数据。通常,庞大的数据集也保存在 Excel 文件中。因此,您可能会遇到需要从 Excel 文件中的工作表中读取和获取数据的情况。为此,本文展示了如何在 Java 中读取 Excel 文件。我们将演示如何以编程方式读取整个 Excel 文件或仅读取单个工作表。

用于读取 Excel 文件的 Java 库

要从工作表中读取数据,我们将使用 Aspose.Cells for Java。它是一个电子表格操作 API,用于从头开始创建 Excel 文件。此外,它允许您非常轻松地阅读和操作现有的 Excel 文件。该 API 可以从 下载部分 下载或通过在 pom.xml 中添加以下 Maven 配置来安装。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.11</version>
</dependency>

用 Java 读取 Excel 文件

在 Excel 文件中,数据存储在单元格中,其中每个单元格由其名称(A1、B3 等)或行和列索引标识。这些单元格共同形成一个工作表,一个 Excel 文件由单个或多个工作表组成。所有工作表都包含在工作簿中。这是对 Excel 文件结构的简要概述。现在让我们继续从 Excel 文件中读取数据。

以下是使用 Java 读取 Excel 文件并打印其数据的步骤。

以下代码示例展示了如何在 Java 中读取 Excel 文件。

// 加载 Excel 文件
Workbook wb = new Workbook("workbook.xlsx");

// 获取所有工作表
WorksheetCollection collection = wb.getWorksheets();

// 循环遍历所有工作表
for (int worksheetIndex = 0; worksheetIndex < collection.getCount(); worksheetIndex++) {

  // 使用其索引获取工作表
  Worksheet worksheet = collection.get(worksheetIndex);

  // 打印工作表名称
  System.out.print("Worksheet: " + worksheet.getName());

  // 获取行数和列数
  int rows = worksheet.getCells().getMaxDataRow();
  int cols = worksheet.getCells().getMaxDataColumn();

  // 循环遍历行
 for (int i = 0; i < rows; i++) {

    // 循环遍历选定行中的每一列
   for (int j = 0; j < cols; j++) {
        // 打印单元格值
	System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");
    }
    // 打印换行符
    System.out.println(" ");
  }
}

以下是我们在运行上面的代码示例后在控制台中得到的输出。

用Java读取Excel文件工作表中的数据

用 Java 读取 Excel 文件

在 Java 中读取 Excel 中的特定工作表

您还可以按照以下步骤仅读取 Excel 文件中的特定工作表。

以下代码示例显示了如何从 Java 中的特定工作表中读取数据。

// 加载 Excel 文件
Workbook wb = new Workbook("workbook.xlsx");

// 获取工作表的参考
Worksheet worksheet = wb.getWorksheets().get(0);

// 获取行数和列数
int rows = worksheet.getCells().getMaxDataRow();
int cols = worksheet.getCells().getMaxDataColumn();

// 循环遍历行
for (int i = 0; i < rows; i++) {

  // 循环遍历选定行中的每一列
 for (int j = 0; j < cols; j++) {

    // 打印单元格值
    System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");

  }
  // 打印换行符
  System.out.println(" ");
}

获取免费 API 许可证

您可以通过获得 免费临时许可证 来使用 Aspose.Cells for Java,而不受评估限制。

结论

在本文中,您学习了如何在 Java 中动态读取 Excel 文件。在代码示例的帮助下,您已经了解了如何从特定工作表或 Excel 工作簿中的所有工作表中读取数据。此外,您可以使用 文档 探索 Aspose.Cells for Java 的其他功能。如果您有任何疑问,请随时通过我们的 论坛 告诉我们。

也可以看看