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 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.
- Tải tệp Excel bằng lớp Workbook.
- Nhận tham chiếu của trang tính mong muốn trong đối tượng Worksheet bằng cách sử dụng phương thức Workbook.getWorksheets(). Get (index).
- 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 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.