如何使用office js阅读Excel单元格的验证?

时间:2018-02-27 12:59:48

标签: office-js

如何使用office-js阅读已经实现的数据验证,我已阅读this页面,新的api可用于beta版本,现在我正在尝试如何在excel中实现此验证?

1 个答案:

答案 0 :(得分:1)

有关数据验证API的文档可在ExcelJS_OpenSpec

中找到

此外,还有一个脚本实验室代码段,其中包含Excel中的多个数据验证示例。只需安装Script Lab加载项(免费:https://aka.ms/getscriptlab),然后在Excel中打开脚本实验室代码窗口,在导航菜单中选择 Samples ,选择数据验证示例(位于示例列表底部附近的预览API 标题下)。

在您打开代码段后,您可以在代码窗格中查看代码,以查看数据验证示例,并使用运行窗格以查看正在运行的数据验证。例如,以下函数(来自代码段)添加了一个需要正数的验证规则:

async function addPositiveNumberRequirement() {
    await Excel.run(async (context) => {
        const sheet = context.workbook.worksheets.getActiveWorksheet();
        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();
    });
}