Excel.DataValidationRule interface

数据验证规则包含不同类型的数据验证。 根据 Excel.DataValidationType,一次只能使用其中一个。

注解

[ API 集:ExcelApi 1.8 ]

属性

custom

自定义数据有效性条件。

date

日期数据有效性条件。

decimal

小数数据有效性条件。

list

列表数据有效性条件。

textLength

文本长度数据验证条件。

time

时间数据有效性条件。

wholeNumber

整数数据验证条件。

属性详细信息

custom

自定义数据有效性条件。

custom?: Excel.CustomDataValidation;

属性值

注解

[ API 集:ExcelApi 1.8 ]

date

日期数据有效性条件。

date?: Excel.DateTimeDataValidation;

属性值

注解

[ API 集:ExcelApi 1.8 ]

decimal

小数数据有效性条件。

decimal?: Excel.BasicDataValidation;

属性值

注解

[ API 集:ExcelApi 1.8 ]

list

列表数据有效性条件。

list?: Excel.ListDataValidation;

属性值

注解

[ API 集:ExcelApi 1.8 ]

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/22-data-validation/data-validation.yaml

await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getItem("Decision");
    const nameRange = 
        sheet.tables.getItem("NameOptionsTable").columns.getItem("Baby Name").getDataBodyRange();

    // When you are developing, it is a good practice to
    // clear the dataValidation object with each run of your code.
    nameRange.dataValidation.clear();

    const nameSourceRange = context.workbook.worksheets.getItem("Names").getRange("A1:A3");

    let approvedListRule = {
        list: {
            inCellDropDown: true,
            source: nameSourceRange
        }
    };
    nameRange.dataValidation.rule = approvedListRule;

    await context.sync();
});

textLength

文本长度数据验证条件。

textLength?: Excel.BasicDataValidation;

属性值

注解

[ API 集:ExcelApi 1.8 ]

time

时间数据有效性条件。

time?: Excel.DateTimeDataValidation;

属性值

注解

[ API 集:ExcelApi 1.8 ]

wholeNumber

整数数据验证条件。

wholeNumber?: Excel.BasicDataValidation;

属性值

注解

[ API 集:ExcelApi 1.8 ]

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/22-data-validation/data-validation.yaml

await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getItem("Decision");
    const rankingRange = sheet.tables.getItem("NameOptionsTable").columns.getItem("Ranking").getDataBodyRange();

    // When you are developing, it is a good practice to
    // clear the dataValidation object with each run of your code.
    rankingRange.dataValidation.clear();

    let greaterThanZeroRule = {
        wholeNumber: {
            formula1: 0,
            operator: Excel.DataValidationOperator.greaterThan
        }
    };
    rankingRange.dataValidation.rule = greaterThanZeroRule;

    rankingRange.dataValidation.prompt = {
        message: "Please enter a positive number.",
        showPrompt: true,
        title: "Positive numbers only."
    };

    rankingRange.dataValidation.errorAlert = {
        message: "Sorry, only positive numbers are allowed",
        showAlert: true,
        style: "Stop",
        title: "Negative Number Entered"
    };

    await context.sync();
});