Wyszukaj dane w programie Excel przy użyciu języka Java

Arkusze kalkulacyjne Excel umożliwiają przechowywanie ogromnej ilości danych w formie tabelarycznej. W niektórych przypadkach może być konieczne przeszukanie komórek zawierających określone wartości danych lub ciągi znaków z przechowywanych danych. Chociaż Excel udostępnia wbudowaną funkcję przeszukiwania wszystkich arkuszy kalkulacyjnych, może być konieczne programowe wykonanie operacji wyszukiwania w aplikacjach Java. W tym artykule dowiemy się, jak wyszukiwać dane w Excelu za pomocą języka Java.

W tym artykule zostaną omówione następujące tematy:

API Java do wyszukiwania danych w Excelu

Będziemy używać API Aspose.Cells for Java do wykonania operacji wyszukiwania w pliku XLSX. Umożliwia programowe wykonywanie funkcji automatyzacji programu Excel bez konieczności korzystania z aplikacji Microsoft Excel. Proszę pobierz plik JAR interfejsu API lub po prostu dodaj następującą konfigurację pom.xml w aplikacji Java opartej na 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>

Znajdź określony tekst w programie Excel przy użyciu języka Java

Możemy wyszukiwać dowolne wartości tekstowe, liczbowe lub dat w pliku Excel, wykonując czynności podane poniżej:

  • Najpierw załaduj plik Excel za pomocą klasy Workbook.
  • Następnie uzyskaj dostęp do pierwszego arkusza ćwiczeń w pliku Excel.
  • Następnie pobierz komórki arkusza, do którego uzyskałeś dostęp.
  • Następnie utwórz instancję klasy FindOptions.
  • Następnie ustaw LookAtType na „ENTIRECONTENT".
  • Na koniec znajdź tekst za pomocą metody Cells.find(). Jako argumenty przyjmuje ciąg wyszukiwania i FindOptions.

Poniższy przykładowy kod pokazuje, jak znaleźć określony tekst w pliku Excel przy użyciu języka Java.

// Załaduj plik Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Uzyskaj dostęp do pierwszego arkusza w pliku Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Pobierz wszystkie komórki w CellCollections
Cells cells = worksheet.getCells();

// Zainicjuj FindOptions
FindOptions findOptions = new FindOptions();

// Znajdź komórkę zawierającą wartość ciągu
findOptions.setLookAtType(LookAtType.ENTIRE_CONTENT);
Cell cell = cells.find("A Company", null, findOptions);

// Pokaż nazwę komórki i jej wartość
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Znajdź określony tekst w programie Excel przy użyciu języka Java

Znajdź określony tekst w programie Excel przy użyciu języka Java.

Znajdź tekst zaczynający się od określonych liter

Możemy przeszukać dowolną wartość tekstową zaczynającą się od określonych liter, wykonując czynności wymienione powyżej. Musimy jednak ustawić LookAtType na „STARTWITH".

Poniższy przykładowy kod pokazuje, jak znaleźć konkretny tekst zaczynający się na literę „H" w pliku Excel przy użyciu języka Java.

// Załaduj plik Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Uzyskaj dostęp do pierwszego arkusza w pliku Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Pobierz wszystkie komórki w CellCollections
Cells cells = worksheet.getCells();

// Zainicjuj FindOptions
FindOptions findOptions = new FindOptions();

// Znajdź komórkę zawierającą wartość ciągu
findOptions.setLookAtType(LookAtType.START_WITH);
Cell cell = cells.find("H", null, findOptions);

// Pokaż nazwę komórki i jej wartość
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Wyszukaj tekst kończący się określonymi literami

Możemy przeszukać dowolną wartość tekstową kończącą się określonymi literami, wykonując czynności wymienione powyżej. Musimy jednak ustawić LookAtType na „ENDWITH".

Poniższy przykładowy kod pokazuje, jak znaleźć konkretny tekst kończący się literami „any" w pliku Excel przy użyciu języka Java.

// Załaduj plik Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Uzyskaj dostęp do pierwszego arkusza w pliku Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Pobierz wszystkie komórki w CellCollections
Cells cells = worksheet.getCells();

// Zainicjuj FindOptions
FindOptions findOptions = new FindOptions();

// Znajdź komórkę zawierającą wartość ciągu
findOptions.setLookAtType(LookAtType.ENDS_WITH);
Cell cell = cells.find("any", null, findOptions);

// Pokaż nazwę komórki i jej wartość
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Znajdź tekst zawierający określone litery

Możemy przeszukać dowolną wartość tekstową zawierającą dowolny konkretny podciąg, wykonując kroki wymienione powyżej. Musimy jednak ustawić LookAtType na „CONTAINS".

Poniższy przykładowy kod pokazuje, jak znaleźć tekst zawierający słowo „comp" w pliku Excel przy użyciu języka Java.

// Załaduj plik Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Uzyskaj dostęp do pierwszego arkusza w pliku Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Pobierz wszystkie komórki w CellCollections
Cells cells = worksheet.getCells();

// Zainicjuj FindOptions
FindOptions findOptions = new FindOptions();

// Znajdź komórkę zawierającą wartość ciągu
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("comp", null, findOptions);

// Pokaż nazwę komórki i jej wartość
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Wyszukiwanie za pomocą wyrażeń regularnych w programie Excel przy użyciu języka Java

Możemy także przeszukiwać wartość komórki za pomocą wyrażeń regularnych, wykonując czynności wymienione powyżej. Musimy jednak tylko ustawić klucz Regex na true i LookAtType na „CONTAINS".

Poniższy przykładowy kod pokazuje, jak znaleźć tekst przy użyciu wyrażenia regularnego w pliku programu Excel przy użyciu języka Java.

// Załaduj plik Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Uzyskaj dostęp do pierwszego arkusza w pliku Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Pobierz wszystkie komórki w CellCollections
Cells cells = worksheet.getCells();

// Zainicjuj FindOptions
FindOptions findOptions = new FindOptions();

// Zdefiniuj to jako 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);

// Pokaż nazwę komórki i jej wartość
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Wyszukiwanie za pomocą wyrażeń regularnych w programie Excel przy użyciu języka Java

Wyszukiwanie za pomocą wyrażeń regularnych w programie Excel przy użyciu języka Java.

Wyszukiwanie z uwzględnieniem wielkości liter w programie Excel przy użyciu języka Java

Możemy wykonać operację wyszukiwania i znaleźć dowolny ciąg tekstowy, w którym rozróżniana jest wielkość liter, wykonując kroki wymienione powyżej. Musimy jednak po prostu ustawić właściwość CaseSensitive na true.

Poniższy przykładowy kod pokazuje, jak znaleźć tekst z uwzględnieniem wielkości liter w pliku Excel przy użyciu języka Java.

// Załaduj plik Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Uzyskaj dostęp do pierwszego arkusza w pliku Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Pobierz wszystkie komórki w CellCollections
Cells cells = worksheet.getCells();

// Zainicjuj FindOptions
FindOptions findOptions = new FindOptions();

// Znajdź komórkę zawierającą formułę
findOptions.setCaseSensitive(true);
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("Ltd", null, findOptions);

// Pokaż nazwę komórki i jej wartość
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Wyszukaj formułę w programie Excel przy użyciu języka Java

Możemy przeszukać komórkę zawierającą formułę w pliku Excel, wykonując czynności podane poniżej:

  • Najpierw załaduj plik Excel za pomocą klasy Workbook.
  • Następnie uzyskaj dostęp do pierwszego arkusza w pliku Excel.
  • Następnie pobierz komórki dostępnego arkusza.
  • Następnie utwórz instancję klasy FindOptions.
  • Następnie ustaw LookInType na „FORMUŁY".
  • Na koniec znajdź tekst za pomocą metody Cells.find(). Jako argumenty przyjmuje ciąg wyszukiwania i FindOptions.

Poniższy przykładowy kod pokazuje, jak znaleźć komórkę z formułą w pliku Excel przy użyciu języka Java.

// Załaduj plik Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Uzyskaj dostęp do pierwszego arkusza w pliku Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Pobierz wszystkie komórki w CellCollections
Cells cells = worksheet.getCells();

// Zainicjuj FindOptions
FindOptions findOptions = new FindOptions();

// Znajdź komórkę zawierającą formułę
findOptions.setLookInType(LookInType.FORMULAS);
Cell cell = cells.find("=SUM(C2:C10)", null, findOptions);

// Pokaż nazwę komórki i jej wartość
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Wyszukaj formułę w programie Excel przy użyciu języka Java.

Wyszukaj formułę w programie Excel przy użyciu języka Java.

Zdobądź bezpłatną licencję

Wypróbuj interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Wniosek

W tym artykule dowiedzieliśmy się, jak znaleźć tekst lub formuły w programie Excel przy użyciu języka Java. W szczególności nauczyliśmy się programowo wyszukiwać w programie Excel dowolny tekst rozpoczynający się, kończący lub zawierający określone litery. Widzieliśmy także, jak wyszukiwać za pomocą wyrażeń regularnych w plikach Excel. Poza tym możesz dowiedzieć się więcej o Aspose.Cells for Java API, korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też