使用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 的其他功能。如果您有任何疑問,請隨時通過我們的 論壇 告訴我們。

也可以看看