Wie man mit Validierung in Java arbeitet
Übersicht
Dieser Leitfaden zeigt, wie man Datenvalidierungsregeln und bedingte Formatierung zu Excel-Arbeitsblättern hinzufügt, indem man Aspose.Cells FOSS für Java verwendet. Datenvalidierung beschränkt die Zelleingabe auf einen akzeptierten Bereich oder eine Liste, indem setType(), setOperator(), setFormula1() und setFormula2() auf einem Validation-Objekt aufgerufen werden. Bedingte Formatierung wendet Stile automatisch an, indem FormatConditionType.CELL_VALUE-Regeln für jede Zelle ausgewertet werden.
Ganzzahl-Validierungsregel hinzufügen
Füge ein Validation zum ValidationCollection des Arbeitsblatts hinzu, indem du sheet.getValidations().add(cellArea) aufrufst. Setze dann den Validierungstyp, den Operator und die Grenzen mit setType(), setOperator(), setFormula1() und 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");
}Bedingte Formatierung hinzufügen
Füge fette Schriftformatierung zu Zellen hinzu, deren Wert zwischen 1 und 100 liegt, indem du FormatConditionType.CELL_VALUE und OperatorType.BETWEEN verwendest. Rufe das FormatConditionCollection ab, füge einen Bereich und eine Bedingung hinzu und modifiziere dann das von condition.getStyle() zurückgegebene 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");
}Unterstützte Validierungstypen
| ValidationType | Beschreibung |
|---|---|
WHOLE_NUMBER | Nur ganzzahlige Werte |
DECIMAL | Dezimale numerische Werte |
LIST | Vordefinierte Liste von Werten |
DATE | Datumswerte |
TEXT_LENGTH | Zeichenanzahl |