Đọc dữ liệu trong tệp Excel bằng Java

Các tệp MS Excel phần lớn được sử dụng để giữ dữ liệu dạng bảng ở dạng trang tính. Thông thường, các bộ dữ liệu khổng lồ cũng được duy trì trong các tệp Excel. Do đó, bạn có thể gặp trường hợp bạn cần đọc và tìm nạp dữ liệu từ các trang tính trong tệp Excel. Để đạt được điều đó, bài viết này hướng dẫn cách đọc tệp Excel trong Java. Chúng tôi sẽ trình bày cách đọc toàn bộ tệp Excel hoặc chỉ một trang tính đơn lẻ theo lập trình.

Thư viện Java để đọc tệp Excel

Để đọc dữ liệu từ trang tính, chúng tôi sẽ sử dụng Aspose.Cells for Java. Nó là một API thao tác bảng tính để tạo các tệp Excel từ đầu. Hơn nữa, nó cho phép bạn đọc và thao tác các tệp Excel hiện có khá dễ dàng. Có thể tải xuống API từ phần tải xuống hoặc cài đặt bằng cách thêm các cấu hình Maven sau vào pom.xml.

<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>

Đọc tệp Excel trong Java

Trong tệp Excel, dữ liệu được lưu trữ trong các ô mà mỗi ô được xác định bằng tên của nó (A1, B3, v.v.) hoặc chỉ số hàng và cột. Các ô này tập hợp lại tạo thành một trang tính và một tệp Excel bao gồm một hoặc nhiều trang tính. Tất cả các trang tính được chứa trong một sổ làm việc. Vì vậy, đây là một tổng quan ngắn gọn về cấu trúc của một tệp Excel. Bây giờ chúng ta hãy tiến hành đọc dữ liệu từ một tệp Excel.

Sau đây là các bước để đọc tệp Excel và in dữ liệu của tệp đó bằng Java.

  • Tải tệp Excel bằng lớp Workbook.
  • Tạo một đối tượng của lớp WorksheetCollection và lấy tham chiếu của các trang tính bằng phương thức Workbook.getWorksheets().
  • Bắt đầu một vòng lặp để đi qua tất cả các trang tính trong bộ sưu tập và trong mỗi lần lặp, hãy thực hiện các bước sau:
    • Nhận tham chiếu của trang tính trong đối tượng Trang tính.
    • Nhận số lượng hàng và cột dữ liệu trong trang tính.
    • Bắt đầu một vòng lặp cho các hàng.
    • Bắt đầu một vòng lặp lồng nhau cho các cột.
    • Đọc dữ liệu từ mỗi ô bằng phương thức Worksheet.getCells(). Get (rowIndex, columnIndex) .getValue().

Mẫu mã sau đây cho thấy cách đọc tệp Excel trong Java.

// Tải tệp Excel
Workbook wb = new Workbook("workbook.xlsx");

// Nhận tất cả các trang tính
WorksheetCollection collection = wb.getWorksheets();

// Lặp lại tất cả các trang tính
for (int worksheetIndex = 0; worksheetIndex < collection.getCount(); worksheetIndex++) {

  // Nhận trang tính bằng cách sử dụng chỉ mục của nó
  Worksheet worksheet = collection.get(worksheetIndex);

  // In tên bảng tính
  System.out.print("Worksheet: " + worksheet.getName());

  // Nhận số hàng và cột
  int rows = worksheet.getCells().getMaxDataRow();
  int cols = worksheet.getCells().getMaxDataColumn();

  // Lặp qua các hàng
 for (int i = 0; i < rows; i++) {

    // Lặp qua từng cột trong hàng đã chọn
   for (int j = 0; j < cols; j++) {
        // Pring giá trị ô
	System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");
    }
    // In ngắt dòng
    System.out.println(" ");
  }
}

Sau đây là kết quả mà chúng tôi nhận được trong bảng điều khiển sau khi chạy mẫu mã ở trên.

Đọc dữ liệu trong trang tính của tệp Excel bằng Java

Đọc tệp Excel trong Java

Đọc một trang tính cụ thể trong Excel trong Java

Bạn cũng có thể chỉ đọc một trang tính cụ thể trong tệp Excel bằng cách làm theo các bước bên dưới.

Mẫu mã sau đây cho thấy cách đọc dữ liệu từ một trang tính cụ thể trong Java.

// Tải tệp Excel
Workbook wb = new Workbook("workbook.xlsx");

// Tham khảo bảng tính
Worksheet worksheet = wb.getWorksheets().get(0);

// Nhận số lượng hàng và cột
int rows = worksheet.getCells().getMaxDataRow();
int cols = worksheet.getCells().getMaxDataColumn();

// Lặp qua các hàng
for (int i = 0; i < rows; i++) {

  // Lặp qua từng cột trong hàng đã chọn
 for (int j = 0; j < cols; j++) {

    // In giá trị ô
    System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");

  }
  // In ngắt dòng
  System.out.println(" ");
}

Nhận giấy phép API miễn phí

Bạn có thể sử dụng Aspose.Cells for Java mà không bị giới hạn đánh giá bằng cách nhận giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã học cách đọc động các tệp Excel trong Java. Với sự trợ giúp của các mẫu mã, bạn đã biết cách đọc dữ liệu từ một trang tính cụ thể hoặc tất cả các trang tính trong sổ làm việc Excel. Ngoài ra, bạn có thể khám phá các tính năng khác của Aspose.Cells for Java bằng cách sử dụng tài liệu. Trong trường hợp bạn có bất kỳ thắc mắc nào, vui lòng cho chúng tôi biết qua diễn đàn của chúng tôi.

Xem thêm