[java] Java Apache POI를 사용하여 Excel 파일의 데이터 유효성 검사 오류 표시 설정하기

Excel 파일의 데이터 유효성 검사는 사용자가 잘못된 데이터를 입력할 수 없도록 도와줍니다. Apache POI는 Java에서 Excel 파일을 다룰 수 있는 라이브러리입니다. 이 라이브러리를 사용하여 Excel 파일의 데이터 유효성 검사 오류 표시를 설정하는 방법을 알아보겠습니다.

Apache POI 라이브러리 추가

먼저, Apache POI 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우 pom.xml 파일에 다음 의존성을 추가합니다:

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

Gradle을 사용하는 경우 build.gradle 파일에 다음 의존성을 추가합니다:

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

Excel 파일 열기

먼저, Excel 파일을 열어야 합니다. 다음 코드를 사용하여 Excel 파일을 열고 Workbook 객체를 가져옵니다:

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

public class ExcelValidator {

    public static void main(String[] args) {
        try {
            Workbook workbook = WorkbookFactory.create(new File("path/to/excel/file.xlsx"));
            // Excel 파일에 데이터 유효성 검사 오류 표시 설정 코드 작성
            workbook.write(new FileOutputStream(new File("path/to/output/file.xlsx")));
            workbook.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

path/to/excel/file.xlsx 경로를 열고자 하는 Excel 파일의 경로로 변경하십시오.

데이터 유효성 검사 오류 표시 설정

Excel 파일을 열고 Workbook 객체를 가져왔으면, 데이터 유효성 검사 오류 표시를 설정할 준비가 끝났습니다. 데이터 유효성 검사를 적용할 Sheet를 선택한 후, DataValidationHelper를 사용하여 데이터 유효성 검사 규칙을 생성하고 설정합니다. 다음 코드를 사용하여 데이터 유효성 검사 오류 표시를 설정할 수 있습니다:

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

public class ExcelValidator {

    public static void main(String[] args) {
        try {
            Workbook workbook = WorkbookFactory.create(new File("path/to/excel/file.xlsx"));
            Sheet sheet = workbook.getSheetAt(0); // 첫 번째 시트를 선택
            DataValidationHelper validationHelper = sheet.getDataValidationHelper();
            DataValidationConstraint constraint = validationHelper.createFormulaListConstraint("A1:A5");
            CellRangeAddressList addressList = new CellRangeAddressList(1, 10, 0, 0); // 첫 번째 열의 2번째부터 11번째 행까지의 범위를 선택
            DataValidation validation = validationHelper.createValidation(constraint, addressList);
            validation.setShowErrorBox(true);
            validation.createErrorBox("Data Validation Error", "Invalid value entered.");
            sheet.addValidationData(validation);
            workbook.write(new FileOutputStream(new File("path/to/output/file.xlsx")));
            workbook.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

이 예제에서는 “A1:A5” 범위에 있는 유효한 값만 입력할 수 있도록 데이터 유효성 검사를 설정하고 있습니다. 첫 번째 열의 2번째부터 11번째 행까지의 범위에 데이터 유효성 검사 오류 표시가 설정됩니다.

결과 확인

코드를 실행하고 path/to/output/file.xlsx 경로에 저장된 Excel 파일을 엽니다. 데이터 유효성 검사 오류 표시가 설정되어 있으므로, 잘못된 값이 입력되면 오류 메시지가 표시됩니다.

결론

Java Apache POI를 사용하여 Excel 파일의 데이터 유효성 검사 오류 표시를 설정하는 방법을 알아보았습니다. 이를 통해 사용자가 잘못된 데이터를 입력하는 것을 방지할 수 있으며, 데이터의 정확성을 유지할 수 있습니다.