Come lavorare con la convalida in Java
Panoramica
Questa guida mostra come aggiungere regole di convalida dei dati e formattazione condizionale ai fogli di lavoro Excel utilizzando Aspose.Cells FOSS per Java. La convalida dei dati limita l’immissione nelle celle a un intervallo o a un elenco accettato chiamando setType(), setOperator(), setFormula1() e setFormula2() su un oggetto Validation. La formattazione condizionale applica stili automaticamente valutando le regole FormatConditionType.CELL_VALUE su ogni cella.
Aggiungi una regola di convalida per numeri interi
Aggiungi un Validation al ValidationCollection del foglio di lavoro chiamando sheet.getValidations().add(cellArea). Quindi imposta il tipo di convalida, l’operatore e i limiti usando setType(), setOperator(), setFormula1() e 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");
}Aggiungi formattazione condizionale
Applica la formattazione in grassetto alle celle il cui valore è compreso tra 1 e 100, usando FormatConditionType.CELL_VALUE e OperatorType.BETWEEN. Recupera il FormatConditionCollection, aggiungi un’area e una condizione, quindi modifica il Style restituito da 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");
}Tipi di convalida supportati
| ValidationType | Descrizione |
|---|---|
WHOLE_NUMBER | Solo valori interi |
DECIMAL | Valori numerici decimali |
LIST | Elenco predefinito di valori |
DATE | Valori di data |
TEXT_LENGTH | Conteggio dei caratteri |