Java를 사용하여 Excel에서 데이터 검색

Excel 스프레드시트를 사용하면 방대한 양의 데이터를 표 형식으로 저장할 수 있습니다. 어떤 경우에는 저장된 데이터에서 특정 데이터 값이나 문자열을 포함하는 셀을 검색해야 할 수도 있습니다. Excel은 모든 스프레드시트를 검색하는 기본 제공 기능을 제공하지만 Java 응용 프로그램에서 프로그래밍 방식으로 검색 작업을 수행해야 할 수도 있습니다. 이 기사에서는 Java를 사용하여 Excel에서 데이터를 검색하는 방법을 배웁니다.

이 기사에서는 다음 주제를 다룹니다.

Excel에서 데이터를 검색하는 Java API

XLSX 파일에 대한 검색 작업을 수행하기 위해 Aspose.Cells for Java API를 사용할 것입니다. Microsoft Excel 응용 프로그램 없이 프로그래밍 방식으로 Excel 자동화 기능을 수행할 수 있습니다. API의 JAR을 다운로드하거나 Maven 기반 Java 애플리케이션에 다음 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>22.1</version>
</dependency>

Java를 사용하여 Excel에서 특정 텍스트 찾기

아래 단계에 따라 Excel 파일의 텍스트, 숫자 또는 날짜 값을 검색할 수 있습니다.

  • 먼저 Workbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
  • 다음으로 Excel 파일의 첫 번째 워크시트에 액세스합니다.
  • 그런 다음 액세스한 시트의 cell를 가져옵니다.
  • 다음으로 FindOptions 클래스의 인스턴스를 만듭니다.
  • 그런 다음 LookAtType을 “ENTIRECONTENT”로 설정합니다.
  • 마지막으로 Cells.find() 메서드를 사용하여 텍스트를 찾습니다. 검색 문자열과 FindOptions를 인수로 사용합니다.

다음 코드 샘플은 Java를 사용하여 Excel 파일에서 특정 텍스트를 찾는 방법을 보여줍니다.

// 엑셀 파일 불러오기
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excel 파일의 첫 번째 워크시트에 액세스
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollections의 모든 셀 가져오기
Cells cells = worksheet.getCells();

// FindOptions 초기화
FindOptions findOptions = new FindOptions();

// 문자열 값이 포함된 셀 찾기
findOptions.setLookAtType(LookAtType.ENTIRE_CONTENT);
Cell cell = cells.find("A Company", null, findOptions);

// 셀 이름과 값 표시
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Java를 사용하여 Excel에서 특정 텍스트 찾기

Java를 사용하여 Excel에서 특정 텍스트 찾기

특정 문자로 시작하는 텍스트 찾기

위에서 언급한 단계에 따라 특정 문자로 시작하는 모든 텍스트 값을 검색할 수 있습니다. 그러나 LookAtType을 “STARTWITH"로 설정하기만 하면 됩니다.

다음 코드 샘플은 Java를 사용하여 Excel 파일에서 문자 “H"로 시작하는 특정 텍스트를 찾는 방법을 보여줍니다.

// 엑셀 파일 불러오기
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excel 파일의 첫 번째 워크시트에 액세스
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollections의 모든 셀 가져오기
Cells cells = worksheet.getCells();

// FindOptions 초기화
FindOptions findOptions = new FindOptions();

// 문자열 값이 포함된 셀 찾기
findOptions.setLookAtType(LookAtType.START_WITH);
Cell cell = cells.find("H", null, findOptions);

// 셀 이름과 값 표시
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.

특정 문자로 끝나는 텍스트 검색

위에서 언급한 단계에 따라 특정 문자로 끝나는 텍스트 값을 검색할 수 있습니다. 그러나 LookAtType을 “ENDWITH"로 설정하기만 하면 됩니다.

다음 코드 샘플은 Java를 사용하여 Excel 파일에서 문자 “any"로 끝나는 특정 텍스트를 찾는 방법을 보여줍니다.

// 엑셀 파일 불러오기
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excel 파일의 첫 번째 워크시트에 액세스
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollections의 모든 셀 가져오기
Cells cells = worksheet.getCells();

// FindOptions 초기화
FindOptions findOptions = new FindOptions();

// 문자열 값이 포함된 셀 찾기
findOptions.setLookAtType(LookAtType.ENDS_WITH);
Cell cell = cells.find("any", null, findOptions);

// 셀 이름과 값 표시
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

특정 문자가 포함된 텍스트 찾기

위에서 언급한 단계에 따라 특정 하위 문자열이 포함된 텍스트 값을 검색할 수 있습니다. 그러나 LookAtType을 “CONTAINS"로 설정하기만 하면 됩니다.

다음 코드 샘플은 Java를 사용하여 Excel 파일에서 “comp"가 포함된 텍스트를 찾는 방법을 보여줍니다.

// 엑셀 파일 불러오기
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excel 파일의 첫 번째 워크시트에 액세스
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollections의 모든 셀 가져오기
Cells cells = worksheet.getCells();

// FindOptions 초기화
FindOptions findOptions = new FindOptions();

// 문자열 값이 포함된 셀 찾기
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("comp", null, findOptions);

// 셀 이름과 값 표시
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Java를 사용하여 Excel에서 정규 표현식으로 검색

위에서 언급한 단계에 따라 정규식을 사용하여 셀 값을 검색할 수도 있습니다. 그러나 Regex Key를 true로 설정하고 LookAtType을 “CONTAINS"로 설정하기만 하면 됩니다.

다음 코드 샘플은 Java를 사용하여 Excel 파일에서 정규식을 사용하여 텍스트를 찾는 방법을 보여줍니다.

// 엑셀 파일 불러오기
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excel 파일의 첫 번째 워크시트에 액세스
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollections의 모든 셀 가져오기
Cells cells = worksheet.getCells();

// FindOptions 초기화
FindOptions findOptions = new FindOptions();

// 정규식으로 정의
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);

// 셀 이름과 값 표시
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Java를 사용하여 Excel에서 정규 표현식으로 검색

Java를 사용하여 Excel에서 정규식으로 검색합니다.

Java를 사용하여 Excel에서 대소문자 구분 검색

위에서 언급한 단계에 따라 검색 작업을 수행하고 대소문자를 구분하는 텍스트 문자열을 찾을 수 있습니다. 그러나 CaseSensitive 속성을 true로 설정하기만 하면 됩니다.

다음 코드 샘플은 Java를 사용하여 Excel 파일에서 대소문자를 구분하는 텍스트를 찾는 방법을 보여줍니다.

// 엑셀 파일 불러오기
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excel 파일의 첫 번째 워크시트에 액세스
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollections의 모든 셀 가져오기
Cells cells = worksheet.getCells();

// FindOptions 초기화
FindOptions findOptions = new FindOptions();

// 수식이 포함된 셀 찾기
findOptions.setCaseSensitive(true);
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("Ltd", null, findOptions);

// 셀 이름과 값 표시
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Java를 사용하여 Excel에서 수식 검색

아래 단계에 따라 Excel 파일에서 수식이 포함된 셀을 검색할 수 있습니다.

  • 먼저 Workbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
  • 다음으로 Excel 파일의 첫 번째 워크시트에 액세스합니다.
  • 그런 다음 액세스한 시트의 셀을 가져옵니다.
  • 다음으로 FindOptions 클래스의 인스턴스를 만듭니다.
  • 그런 다음 LookInType을 “FORMULAS”로 설정합니다.
  • 마지막으로 Cells.find() 메서드를 사용하여 텍스트를 찾습니다. 검색 문자열과 FindOptions를 인수로 사용합니다.

다음 코드 샘플은 Java를 사용하여 Excel 파일에서 수식 셀을 찾는 방법을 보여줍니다.

// 엑셀 파일 불러오기
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excel 파일의 첫 번째 워크시트에 액세스
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollections의 모든 셀 가져오기
Cells cells = worksheet.getCells();

// FindOptions 초기화
FindOptions findOptions = new FindOptions();

// 수식이 포함된 셀 찾기
findOptions.setLookInType(LookInType.FORMULAS);
Cell cell = cells.find("=SUM(C2:C10)", null, findOptions);

// 셀 이름과 값 표시
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Java를 사용하여 Excel에서 수식을 검색합니다.

Java를 사용하여 Excel에서 수식을 검색합니다.

무료 라이선스 받기

임시 무료 라이선스를 신청하여 평가 제한 없이 API를 사용해 보세요.

결론

이 기사에서는 Java를 사용하여 Excel에서 텍스트 또는 수식을 찾는 방법을 배웠습니다. 특히 Excel에서 특정 문자를 프로그래밍 방식으로 시작, 종료 또는 포함하는 텍스트를 검색하는 방법을 배웠습니다. Excel 파일에서 정규식을 사용하여 검색하는 방법도 살펴보았습니다. 또한 문서를 사용하여 Aspose.Cells for Java API에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.

또한보십시오