[java] Java Apache POI를 사용하여 Excel 파일의 데이터 유효성 검사 추가하기

Excel 파일은 대규모 데이터를 저장하고 관리하는 데 유용한 도구입니다. Java에서 Apache POI 라이브러리를 사용하면 Excel 파일을 쉽게 조작할 수 있습니다. 이번 포스트에서는 Apache POI를 사용하여 Excel 파일에 데이터 유효성 검사 기능을 추가하는 방법에 대해 알아보겠습니다.

1. Apache POI 라이브러리 추가하기

먼저 Apache POI 라이브러리를 프로젝트에 추가해야 합니다. 이를 위해서는 Maven, Gradle과 같은 의존성 관리 도구를 사용하거나, 직접 라이브러리 파일을 다운로드하여 프로젝트에 추가할 수 있습니다.

Maven의 경우, pom.xml 파일에 다음 의존성을 추가합니다:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>

Gradle의 경우, build.gradle 파일에 다음 종속성을 추가합니다:

dependencies {
    implementation 'org.apache.poi:poi:4.1.2'
}

라이브러리를 추가한 후에는 프로젝트에서 Apache POI의 클래스와 메서드를 사용할 수 있습니다.

2. Excel 파일 열고 데이터 유효성 검사 설정하기

Excel 파일을 열기 위해 Workbook 클래스를 사용합니다. 다음 코드는 example.xlsx 파일을 열고 첫 번째 시트를 선택하는 예시입니다:

import org.apache.poi.ss.usermodel.*;

public class ExcelValidator {
    public static void main(String[] args) {
        try (Workbook workbook = WorkbookFactory.create(new FileInputStream("example.xlsx"))) {
            Sheet sheet = workbook.getSheetAt(0);
            
            // 데이터 유효성 검사 설정하기
            DataValidationHelper validationHelper = sheet.getDataValidationHelper();
            CellRangeAddressList addressList = new CellRangeAddressList(1, sheet.getLastRowNum(), 0, 0); // 첫 번째 열에 유효성 검사 적용
            DataValidationConstraint constraint = validationHelper.createFormulaListConstraint("=Categories"); // 유효성 검사 목록은 "Categories"라는 이름의 명명된 범위로 지정
            DataValidation validation = validationHelper.createValidation(constraint, addressList);
            sheet.addValidationData(validation);

            FileOutputStream fileOut = new FileOutputStream("example.xlsx");
            workbook.write(fileOut);
            fileOut.close();
        } catch (IOException | InvalidFormatException e) {
            e.printStackTrace();
        }
    }
}

위의 예시 코드에서는 첫 번째 열에 유효성 검사를 적용하고 있습니다. 유효성 검사 목록은 “Categories”라는 이름의 명명된 범위로 지정되어 있습니다. 이렇게 유효성 검사를 설정한 후 파일을 저장하면, Excel 파일에는 해당 열에 유효성 검사 기능이 적용됩니다.

3. 데이터 유효성 검사 기능 확인하기

위의 예시 코드를 실행한 후에는 Excel 파일을 열어 유효성 검사 기능이 제대로 적용되었는지 확인할 수 있습니다. 첫 번째 열에서 셀을 클릭하면, 유효성 검사 목록이 나타나고 설정한 범위 내의 값만 입력할 수 있게 됩니다.

결론

이번 포스트에서는 Java에서 Apache POI 라이브러리를 사용하여 Excel 파일에 데이터 유효성 검사 기능을 추가하는 방법을 알아보았습니다. 데이터 유효성 검사는 Excel 파일을 조작하고 관리하는 데 유용한 기능이며, Apache POI를 사용하면 쉽게 구현할 수 있습니다. 추가적인 기능을 구현할 때에도 Apache POI의 다양한 클래스와 메서드를 활용하면 효율적인 개발을 할 수 있습니다.