이 게시물에서는 Java에서 프로그래밍 방식으로 MS Excel 스프레드시트의 텍스트를 찾고 바꾸는 방법을 배웁니다. 다양한 시나리오에서 MS Excel 스프레드시트는 여러 시트에 분산될 수 있는 엄청난 양의 데이터로 구성됩니다. 이러한 경우 찾기 및 바꾸기 옵션을 사용하면 특정 텍스트 부분의 모든 항목을 업데이트하는 데 필요한 노력을 최소화할 수 있습니다. Java 애플리케이션 내에서 많은 수의 스프레드시트를 처리할 때 이 옵션을 자동화하는 방법을 살펴보겠습니다.
Excel 파일에서 텍스트 찾기 및 바꾸기를 위한 Java API
Aspose.Cells for Java는 새 문서를 만들고 기존 Excel 문서를 처리할 수 있는 강력한 스프레드시트 조작 API입니다. API에서 제공하는 Excel 자동화 기능에는 원활한 텍스트 찾기 및 바꾸기도 포함됩니다. API를 다운로드하거나 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>20.11</version>
</dependency>
Java를 사용하여 Excel에서 텍스트 찾기 및 바꾸기
다음은 Excel 스프레드시트에서 텍스트를 찾고 바꾸는 방법의 단계입니다.
- Workbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
- ReplaceOptions 클래스의 인스턴스를 만듭니다.
- ReplaceOptions.setCaseSensitive(boolean) 메서드를 사용하여 대소문자 구분 검색을 활성화합니다.
- ReplaceOptions.setMatchEntireCellContents(boolean) 메서드를 사용하여 전체 셀의 내용과 텍스트 일치를 위한 옵션을 설정합니다.
- Workbook.replace(String, String, ReplaceOptions) 메서드를 사용하여 텍스트를 찾고 바꿉니다.
- Workbook.save(String) 메서드를 사용하여 업데이트된 스프레드시트를 저장합니다.
다음 코드 샘플은 Excel 스프레드시트에서 텍스트를 찾고 바꾸는 방법을 보여줍니다.
// Excel 통합 문서 로드
Workbook workbook = new Workbook("Excel.xlsx");
ReplaceOptions replace = new ReplaceOptions();
// 대소문자 구분 및 텍스트 일치 옵션 설정
replace.setCaseSensitive(false);
replace.setMatchEntireCellContents(false);
// 텍스트 바꾸기
workbook.replace("find and replace this text","with this text", replace);
// Excel XLSX 파일로 저장
workbook.save("updated.xlsx");
정규 표현식을 사용하여 Excel에서 텍스트 찾기 및 바꾸기
스프레드시트에서 텍스트를 찾고 바꾸기 위해 정규식을 사용할 수도 있습니다. 코드의 유일한 차이점은 정규식 검색을 활성화하고 Workbook.replace 메서드에서 일반 텍스트 대신 정규식을 제공한다는 것입니다. 다음은 정규식을 사용하여 찾기 및 바꾸기 작업을 수행하는 단계입니다.
- Workbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
- ReplaceOptions 클래스의 인스턴스를 만듭니다.
- ReplaceOptions.setRegexKey(true) 메서드를 사용하여 정규식 검색을 활성화합니다.
- Workbook.replace(String, String, ReplaceOptions) 메서드를 사용하여 텍스트를 찾고 바꿉니다.
- Workbook.save(String) 메서드를 사용하여 업데이트된 스프레드시트를 저장합니다.
다음 코드 샘플은 정규식을 사용하여 스프레드시트에서 텍스트를 찾고 바꾸는 방법을 보여줍니다.
// 엑셀 파일 불러오기
Workbook workbook = new Workbook("SampleRegexReplace.xlsx");
// 바꾸기 옵션 만들기
ReplaceOptions replace = new ReplaceOptions();
replace.setCaseSensitive(false);
replace.setMatchEntireCellContents(false);
// 검색된 키가 정규식임을 나타내려면 true로 설정하십시오.
replace.setRegexKey(true);
workbook.replace("\\bKIM\\b", "^^^TIM^^^", replace);
// 업데이트된 파일 저장
workbook.save("RegexReplace_out.xlsx");
결론
Excel 자동화는 다양한 비즈니스 영역에서 널리 채택된 기능이 되었습니다. 이에 따라 이 포스트에서는 스프레드시트 조작의 기본적이면서도 중요한 기능 중 하나를 배웠습니다. 단계별 가이드 및 코드 샘플은 Java를 사용하여 Excel 파일에서 텍스트를 찾고 바꾸는 방법을 보여주었습니다. API의 고급 기능에 대해 알아보려면 문서를 참조하십시오.