如何在 Java 中使用验证

概述

本指南展示了如何使用 Aspose.Cells FOSS for Java 为 Excel 工作表添加数据验证规则和条件格式。数据验证通过在 Validation 对象上调用 setType()、setOperator()、setFormula1() 和 setFormula2() 来将单元格输入限制在接受的范围或列表中。条件格式通过评估每个单元格的 FormatConditionType.CELL_VALUE 规则自动应用样式。

添加整数验证规则

通过调用 sheet.getValidations().add(cellArea) 将 Validation 添加到工作表的 ValidationCollection。然后使用 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");
}

添加条件格式

使用 FormatConditionType.CELL_VALUE 和 OperatorType.BETWEEN 对值在 1 到 100 之间的单元格应用粗体字体格式。检索 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字符计数

另请参阅

 中文