Java에서 검증 작업하는 방법
개요
이 가이드는 Aspose.Cells FOSS for Java를 사용하여 Excel 워크시트에 데이터 유효성 검사 규칙 및 조건부 서식을 추가하는 방법을 보여줍니다. 데이터 유효성 검사는 Validation 객체에서 setType(), setOperator(), setFormula1(), setFormula2()을 호출하여 셀 입력을 허용된 범위나 목록으로 제한합니다. 조건부 서식은 각 셀에 대해 FormatConditionType.CELL_VALUE 규칙을 평가하여 스타일을 자동으로 적용합니다.
정수 유효성 검사 규칙 추가
sheet.getValidations().add(cellArea)를 호출하여 워크시트의 ValidationCollection에 Validation을 추가합니다. 그런 다음 setType(), setOperator(), setFormula1(), setFormula2()을 사용하여 유효성 검사 유형, 연산자 및 범위를 설정합니다:
import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
int vi = sheet.getValidations().add(new CellArea(1, 0, 10, 0));
Validation validation = sheet.getValidations().get(vi);
validation.setType(ValidationType.WHOLE_NUMBER);
validation.setOperator(OperatorType.BETWEEN);
validation.setFormula1("1");
validation.setFormula2("100");
workbook.save("validated.xlsx");
}조건부 서식 추가
값이 1에서 100 사이인 셀에 굵은 글꼴 서식을 적용하려면 FormatConditionType.CELL_VALUE와 OperatorType.BETWEEN을 사용합니다. FormatConditionCollection를 가져오고 영역과 조건을 추가한 다음, condition.getStyle()가 반환하는 Style을 수정합니다:
import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.FormatCondition;
import com.aspose.cells_foss.FormatConditionCollection;
import com.aspose.cells_foss.FormatConditionType;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
int cfIndex = sheet.getConditionalFormattings().add();
FormatConditionCollection conditions = sheet.getConditionalFormattings().get(cfIndex);
conditions.addArea(CellArea.createCellArea("B2", "B11"));
int condIndex = conditions.addCondition(
FormatConditionType.CELL_VALUE, OperatorType.BETWEEN, "1", "100");
FormatCondition condition = conditions.get(condIndex);
Style style = condition.getStyle();
style.getFont().setBold(true);
condition.setStyle(style);
workbook.save("conditional.xlsx");
}지원되는 유효성 검사 유형
| ValidationType | 설명 |
|---|---|
WHOLE_NUMBER | 정수 값만 |
DECIMAL | 소수 숫자 값 |
LIST | 미리 정의된 값 목록 |
DATE | 날짜 값 |
TEXT_LENGTH | 문자 수 |