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

Apache POI는 자바로 개발된 오픈 소스 라이브러리로, Microsoft Office 파일 포맷 (예: Excel, Word, PowerPoint)을 조작할 수 있도록 도와줍니다. 이번 블로그에서는 Apache POI를 사용하여 Excel 파일에서 데이터 유효성 검사 규칙을 읽는 방법에 대해 알아보겠습니다.

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

먼저, Apache POI 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용한다면, pom.xml 파일에 다음 종속성을 추가하세요:

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

Gradle을 사용한다면, build.gradle 파일에 다음 의존성을 추가하세요:

implementation 'org.apache.poi:poi:5.0.0'

2. Excel 파일에서 데이터 유효성 검사 규칙 읽기

Apache POI를 사용하여 Excel 파일에서 데이터 유효성 검사 규칙을 읽기 위해 다음 단계를 따르세요:

2.1. Excel 파일 열기

String filePath = "경로/파일명.xlsx";
Workbook workbook = WorkbookFactory.create(new File(filePath));

위 코드에서 filePath에는 읽을 Excel 파일의 경로와 파일명을 지정해야 합니다. create 메서드는 주어진 파일로부터 Workbook 객체를 생성합니다.

2.2. 시트 가져오기

Sheet sheet = workbook.getSheetAt(0);

위 코드에서 getSheetAt 메서드를 사용하여 첫 번째 시트를 가져옵니다. 시트 인덱스는 0부터 시작합니다.

2.3. 데이터 유효성 검사 규칙 가져오기

DataValidationHelper dataValidationHelper = sheet.getDataValidationHelper();
List<? extends DataValidation> dataValidations = dataValidationHelper.getAllDataValidations();

위 코드에서 getDataValidationHelper 메서드를 사용하여 DataValidationHelper 객체를 가져옵니다. 데이터 유효성 검사 규칙을 담고 있는 DataValidation 객체들의 리스트는 getAllDataValidations 메서드로 얻을 수 있습니다.

2.4. 데이터 유효성 검사 규칙 출력하기

for (DataValidation dataValidation : dataValidations) {
    DataValidationConstraint constraint = dataValidation.getValidationConstraint();
    System.out.println("Formula1: " + constraint.getFormula1());
    System.out.println("Formula2: " + constraint.getFormula2());
    System.out.println("Operator: " + constraint.getOperator());
    System.out.println("Type: " + constraint.getValidationType());
    System.out.println("-----------------------");
}

위 코드에서는 DataValidation 객체의 getValidationConstraint 메서드를 사용하여 규칙의 상세 정보를 가져옵니다. 이 정보는 DataValidationConstraint 객체로부터 얻을 수 있습니다. 이후 각 규칙의 속성을 출력하는 예제를 보여주었습니다.

결론

Apache POI를 사용하여 Excel 파일의 데이터 유효성 검사 규칙을 읽는 방법에 대해 알아보았습니다. 이를 활용하면 Excel 파일에서 정의된 규칙을 활용하여 유효성 검사를 자동화하거나 데이터 가공에 활용할 수 있습니다.

참고 문서: Apache POI - Data Validation