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

Apache POI는 자바로 Excel 파일을 조작하는 데 사용되는 오픈 소스 라이브러리입니다. 이 라이브러리를 사용하면 Excel 파일에서 데이터를 읽고 쓸 수 있으며, 특히 데이터 유효성 검사 오류 메시지를 읽을 수도 있습니다. 이 글에서는 Apache POI를 사용하여 Excel 파일의 데이터 유효성 검사 오류 메시지를 읽는 방법에 대해 알아보겠습니다.

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

먼저, Maven이나 Gradle과 같은 빌드 도구를 사용하여 Apache POI 라이브러리를 프로젝트에 추가해야 합니다. 아래는 Maven을 사용하는 경우의 예시입니다.

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

2. Excel 파일 열기

Apache POI를 사용하여 Excel 파일을 읽기 위해 Workbook 객체를 생성해야 합니다. 아래는 파일 경로를 지정하여 Excel 파일을 열고 Workbook 객체를 생성하는 예시입니다.

String filePath = "path/to/excel/file.xlsx";
FileInputStream fis = new FileInputStream(filePath);
Workbook workbook = WorkbookFactory.create(fis);

3. 유효성 검사 오류 메시지 읽기

Excel 파일에는 데이터 유효성 검사 규칙을 설정할 수 있습니다. Apache POI를 사용하여 이러한 오류 메시지를 읽기 위해 Sheet 객체에서 DataValidation 객체 목록을 가져와야 합니다. 아래는 Sheet 객체에서 DataValidation 객체 목록을 가져오는 예시입니다.

Sheet sheet = workbook.getSheetAt(0); // 첫 번째 시트를 가져옴
List<? extends DataValidation> dataValidations = sheet.getDataValidations();

DataValidation 객체에는 다양한 속성이 포함되어 있습니다. 이 중에서 우리가 필요한 것은 오류 메시지입니다. DataValidation 객체의 getValidationConstraint() 메서드를 사용하여 데이터 유효성 검사 규칙을 가져온 후, getExplicitListValues() 메서드를 사용하여 오류 메시지를 가져올 수 있습니다. 아래는 오류 메시지를 읽는 예시 코드입니다.

for (DataValidation dataValidation : dataValidations) {
    DataValidationConstraint constraint = dataValidation.getValidationConstraint();
    if (constraint.getExplicitListValues() != null) {
        String errorMessage = constraint.getExplicitListValues().getErrorTitle();
        System.out.println(errorMessage);
    }
}

4. Excel 파일 닫기

Excel 파일을 모두 처리한 후에는 Workbook 객체를 닫아야 합니다. 아래는 Workbook 객체를 닫는 예시 코드입니다.

workbook.close();
fis.close();

결론

Apache POI를 사용하면 Excel 파일의 데이터 유효성 검사 오류 메시지를 간단하게 읽을 수 있습니다. 이를 통해 데이터의 유효성을 검사하고 오류 메시지를 적절하게 처리할 수 있습니다. Apache POI에 대한 자세한 내용은 Apache POI 공식 문서를 참조하시기 바랍니다.