Tìm kiếm dữ liệu trong Excel bằng Java

Bảng tính Excel cho phép lưu trữ một lượng lớn dữ liệu ở dạng bảng. Trong một số trường hợp nhất định, chúng ta có thể cần tìm kiếm các ô chứa các giá trị dữ liệu hoặc chuỗi cụ thể từ dữ liệu được lưu trữ. Mặc dù Excel cung cấp chức năng tích hợp sẵn để tìm kiếm trong tất cả các bảng tính, nhưng chúng ta có thể cần thực hiện thao tác tìm kiếm theo chương trình trong các ứng dụng Java. Trong bài viết này, chúng ta sẽ tìm hiểu cách tìm kiếm dữ liệu trong Excel bằng Java.

Các chủ đề sau đây sẽ được đề cập trong bài viết này:

API Java để tìm kiếm dữ liệu trong Excel

Chúng tôi sẽ sử dụng API Aspose.Cells for Java để thực hiện thao tác tìm kiếm trên tệp XLSX. Nó cho phép thực hiện các tính năng tự động hóa Excel theo chương trình mà không cần ứng dụng Microsoft Excel. Vui lòng tải xuống JAR của API hoặc chỉ cần thêm cấu hình pom.xml sau vào ứng dụng Java dựa trên 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>22.1</version>
</dependency>

Tìm văn bản cụ thể trong Excel bằng Java

Chúng ta có thể tìm kiếm bất kỳ giá trị văn bản, số hoặc ngày nào trong tệp Excel bằng cách thực hiện theo các bước được đưa ra bên dưới:

  • Đầu tiên, tải tệp Excel bằng lớp Workbook.
  • Tiếp theo, truy cập bảng tính đầu tiên trong tệp Excel.
  • Sau đó, lấy ô của trang được truy cập.
  • Tiếp theo, tạo một thể hiện của lớp FindOptions.
  • Sau đó, đặt LookAtType là “ENTIRECONTENT".
  • Cuối cùng, tìm văn bản bằng phương thức Cells.find(). Nó lấy chuỗi tìm kiếm và FindOptions làm đối số.

Mẫu mã sau đây cho biết cách tìm một văn bản cụ thể trong tệp Excel bằng Java.

// Tải một tập tin Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Truy cập bảng tính đầu tiên trong file Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Lấy tất cả các ô trong CellCollections
Cells cells = worksheet.getCells();

// Khởi tạo FindOptions
FindOptions findOptions = new FindOptions();

// Tìm ô chứa giá trị chuỗi
findOptions.setLookAtType(LookAtType.ENTIRE_CONTENT);
Cell cell = cells.find("A Company", null, findOptions);

// Hiển thị tên ô và giá trị của nó
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Tìm văn bản cụ thể trong Excel bằng Java

Tìm văn bản cụ thể trong Excel bằng Java.

Tìm văn bản bắt đầu bằng các chữ cái cụ thể

Chúng tôi có thể tìm kiếm bất kỳ giá trị văn bản nào bắt đầu bằng các chữ cái cụ thể bằng cách thực hiện theo các bước được đề cập ở trên. Tuy nhiên, chúng ta chỉ cần đặt LookAtType là “BẮT ĐẦU VỚI".

Mẫu mã sau đây cho biết cách tìm văn bản cụ thể bắt đầu bằng chữ cái “H" trong tệp Excel bằng Java.

// Tải một tập tin Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Truy cập bảng tính đầu tiên trong file Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Lấy tất cả các ô trong CellCollections
Cells cells = worksheet.getCells();

// Khởi tạo FindOptions
FindOptions findOptions = new FindOptions();

// Tìm ô chứa giá trị chuỗi
findOptions.setLookAtType(LookAtType.START_WITH);
Cell cell = cells.find("H", null, findOptions);

// Hiển thị tên ô và giá trị của nó
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Find Text Starting with Specific Letters.

Find Text Starting with Specific Letters.

Tìm kiếm văn bản kết thúc bằng các chữ cái cụ thể

Chúng tôi có thể tìm kiếm bất kỳ giá trị văn bản nào kết thúc bằng các chữ cái cụ thể bằng cách thực hiện theo các bước được đề cập ở trên. Tuy nhiên, chúng ta chỉ cần đặt LookAtType là “ENDWITH".

Mẫu mã sau đây cho biết cách tìm một văn bản cụ thể kết thúc bằng các chữ cái “bất kỳ" trong tệp Excel bằng Java.

// Tải một tập tin Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Truy cập bảng tính đầu tiên trong file Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Lấy tất cả các ô trong CellCollections
Cells cells = worksheet.getCells();

// Khởi tạo FindOptions
FindOptions findOptions = new FindOptions();

// Tìm ô chứa giá trị chuỗi
findOptions.setLookAtType(LookAtType.ENDS_WITH);
Cell cell = cells.find("any", null, findOptions);

// Hiển thị tên ô và giá trị của nó
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Tìm văn bản chứa các chữ cái cụ thể

Chúng tôi có thể tìm kiếm bất kỳ giá trị văn bản nào chứa bất kỳ chuỗi con cụ thể nào bằng cách thực hiện theo các bước được đề cập ở trên. Tuy nhiên, chúng ta chỉ cần đặt LookAtType là “CONTAINS".

Mẫu mã sau đây cho biết cách tìm văn bản có chứa “comp" trong tệp Excel bằng Java.

// Tải một tập tin Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Truy cập bảng tính đầu tiên trong file Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Lấy tất cả các ô trong CellCollections
Cells cells = worksheet.getCells();

// Khởi tạo FindOptions
FindOptions findOptions = new FindOptions();

// Tìm ô chứa giá trị chuỗi
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("comp", null, findOptions);

// Hiển thị tên ô và giá trị của nó
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Tìm kiếm bằng biểu thức chính quy trong Excel bằng Java

Chúng ta cũng có thể tìm kiếm giá trị ô bằng cách sử dụng biểu thức chính quy bằng cách làm theo các bước được đề cập ở trên. Tuy nhiên, chúng ta chỉ cần đặt Khóa Regex thành true và LookAtType là “CONTAINS".

Mẫu mã sau đây cho biết cách tìm văn bản bằng biểu thức chính quy trong tệp Excel bằng Java.

// Tải một tập tin Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Truy cập bảng tính đầu tiên trong file Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Lấy tất cả các ô trong CellCollections
Cells cells = worksheet.getCells();

// Khởi tạo FindOptions
FindOptions findOptions = new FindOptions();

// Xác định nó là Regex
findOptions.setRegexKey(true);
findOptions.setLookAtType(LookAtType.ENTIRE_CONTENT);
findOptions.setLookInType(LookInType.VALUES);
Cell cell = cells.find("[a-z]{1}[\\s]&[\\s][a-z]{1}", null, opt);

// Hiển thị tên ô và giá trị của nó
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Tìm kiếm bằng biểu thức chính quy trong Excel bằng Java

Tìm kiếm bằng biểu thức chính quy trong Excel bằng Java.

Tìm kiếm phân biệt chữ hoa chữ thường trong Excel bằng Java

Chúng tôi có thể thực hiện thao tác tìm kiếm và tìm bất kỳ chuỗi văn bản phân biệt chữ hoa chữ thường nào bằng cách thực hiện theo các bước được đề cập ở trên. Tuy nhiên, chúng ta chỉ cần đặt thuộc tính CaseSensitive thành true.

Mẫu mã sau đây cho biết cách tìm văn bản phân biệt chữ hoa chữ thường trong tệp Excel bằng Java.

// Tải một tập tin Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Truy cập bảng tính đầu tiên trong file Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Lấy tất cả các ô trong CellCollections
Cells cells = worksheet.getCells();

// Khởi tạo FindOptions
FindOptions findOptions = new FindOptions();

// Tìm ô chứa công thức
findOptions.setCaseSensitive(true);
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("Ltd", null, findOptions);

// Hiển thị tên ô và giá trị của nó
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Tìm kiếm công thức trong Excel bằng Java

Chúng ta có thể tìm kiếm ô chứa công thức trong tệp Excel bằng cách thực hiện theo các bước dưới đây:

  • Đầu tiên, tải tệp Excel bằng lớp Workbook.
  • Tiếp theo truy cập vào bảng tính đầu tiên trong file Excel.
  • Sau đó, lấy các ô của trang tính được truy cập.
  • Tiếp theo, tạo một thể hiện của lớp FindOptions.
  • Sau đó, đặt LookInType là “FORMULAS".
  • Cuối cùng, tìm văn bản bằng phương thức Cells.find(). Nó lấy chuỗi tìm kiếm và FindOptions làm đối số.

Mẫu mã sau đây cho biết cách tìm ô công thức trong tệp Excel bằng Java.

// Tải một tập tin Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Truy cập bảng tính đầu tiên trong file Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Lấy tất cả các ô trong CellCollections
Cells cells = worksheet.getCells();

// Khởi tạo FindOptions
FindOptions findOptions = new FindOptions();

// Tìm ô chứa công thức
findOptions.setLookInType(LookInType.FORMULAS);
Cell cell = cells.find("=SUM(C2:C10)", null, findOptions);

// Hiển thị tên ô và giá trị của nó
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Tìm kiếm công thức trong Excel bằng Java.

Tìm kiếm công thức trong Excel bằng Java.

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

Vui lòng dùng thử API không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.

Phần kết luận

Trong bài viết này, chúng ta đã học cách tìm văn bản hoặc công thức trong Excel bằng Java. Cụ thể, chúng ta đã học cách tìm kiếm bất kỳ văn bản nào bắt đầu, kết thúc hoặc chứa các chữ cái cụ thể trong Excel theo chương trình. Chúng ta cũng đã thấy cách tìm kiếm bằng biểu thức chính quy trong tệp Excel. Ngoài ra, bạn có thể tìm hiểu thêm về Aspose.Cells cho API Java bằng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm