Jak pracować z walidacją w Java
Przegląd
Ten przewodnik pokazuje, jak dodać reguły walidacji danych i formatowanie warunkowe do arkuszy Excel przy użyciu Aspose.Cells FOSS dla Java. Walidacja danych ogranicza wprowadzanie wartości w komórkach do przyjętego zakresu lub listy, wywołując setType(), setOperator(), setFormula1() i setFormula2() na obiekcie Validation. Formatowanie warunkowe stosuje style automatycznie, oceniając reguły FormatConditionType.CELL_VALUE dla każdej komórki.
Dodaj regułę walidacji liczb całkowitych
Dodaj Validation do ValidationCollection arkusza, wywołując sheet.getValidations().add(cellArea). Następnie ustaw typ walidacji, operator i granice za pomocą setType(), setOperator(), setFormula1() i 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");
}Dodaj formatowanie warunkowe
Zastosuj pogrubione formatowanie czcionki do komórek, których wartość mieści się w przedziale od 1 do 100, używając FormatConditionType.CELL_VALUE i OperatorType.BETWEEN. Pobierz FormatConditionCollection, dodaj obszar i warunek, a następnie zmodyfikuj Style zwrócony przez condition.getStyle():
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");
}Obsługiwane typy walidacji
| ValidationType | Opis |
|---|---|
WHOLE_NUMBER | Tylko wartości całkowite |
DECIMAL | Wartości liczbowe dziesiętne |
LIST | Zdefiniowana lista wartości |
DATE | Wartości dat |
TEXT_LENGTH | Liczba znaków |