[java] Apache POI를 사용하여 Excel 파일의 데이터 유효성 검사 오류 경고 읽기
Apache POI는 Java에서 Excel 파일을 다루는 데 사용되는 라이브러리입니다. 이 라이브러리를 사용하여 Excel 파일의 데이터 유효성 검사 오류 경고를 읽어올 수 있습니다.
의존성 추가
먼저, Maven을 사용한다면 pom.xml
파일에 다음 의존성을 추가해야 합니다.
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
Gradle을 사용한다면 build.gradle
파일에 다음 의존성을 추가합니다.
implementation 'org.apache.poi:poi:4.1.2'
Excel 파일 열기
Apache POI를 사용하여 Excel 파일을 열려면 Workbook
객체를 생성해야 합니다. 다음은 파일을 읽어와서 Workbook
객체를 생성하는 예제입니다.
import org.apache.poi.ss.usermodel.*;
try (Workbook workbook = WorkbookFactory.create(new File("경로/파일명.xlsx"))) {
// Workbook 객체 사용
} catch (IOException e) {
e.printStackTrace();
}
위 예제에서 “경로/파일명.xlsx” 부분을 실제 파일 경로와 파일명으로 바꿔야 합니다.
유효성 검사 오류 경고 읽기
Excel 파일에서 유효성 검사 오류 경고를 읽기 위해선 Sheet
객체를 사용해야 합니다. 다음은 첫 번째 시트에서 모든 유효성 검사 오류 경고를 읽어오는 예제입니다.
Sheet sheet = workbook.getSheetAt(0);
DataValidationHelper dvHelper = sheet.getDataValidationHelper();
DataValidationEvaluator dvEvaluator = dvHelper.createEvaluator(sheet);
int rowNum = sheet.getFirstRowNum() + 1; // 첫 번째 행은 헤더이므로 제외
while (rowNum <= sheet.getLastRowNum()) {
Row row = sheet.getRow(rowNum);
for (Cell cell : row) {
CellStyle cellStyle = cell.getCellStyle();
DataValidation dataValidation = dvEvaluator.getDataValidationForCell(cell);
if (dataValidation != null) {
if (dataValidation.getValidationType() == DataValidationConstraint.ValidationType.FORMULA) {
String formula = dataValidation.getFormula1();
System.out.println("Invalid Formula: " + formula);
} else {
System.out.println("Invalid Data: " + cell.toString());
}
}
}
rowNum++;
}
위 예제에서는 DataValidationHelper
와 DataValidationEvaluator
를 사용하여 Sheet
에서 유효성 검사 오류 경고를 확인합니다. 만약 유효성 검사 유형이 “FORMULA”인 경우에는 해당 셀의 공식을 출력하고, 그 외에는 셀의 값을 출력합니다.