Java でバリデーションを使用する方法
概要
このガイドでは、Java 用の Aspose.Cells FOSS を使用して、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 | 文字数 |