Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Office.js API在Excel中实现数据验证_Javascript_Excel_Office365api_Office Js - Fatal编程技术网

Javascript 如何使用Office.js API在Excel中实现数据验证

Javascript 如何使用Office.js API在Excel中实现数据验证,javascript,excel,office365api,office-js,Javascript,Excel,Office365api,Office Js,是否有方法使用Office.js API以编程方式实现数据验证 虽然您完全可以在外接程序中实现自己的数据验证,但它与内置的数据验证工具不同。目前没有用于以编程方式配置Excel数据验证工具的API 这里我尝试在范围内的excel单元格上添加数据验证 Excel.run(function (context) { var currentWorksheet = context.workbook.worksheets.getActiveWorksheet(); var expenses

是否有方法使用Office.js API以编程方式实现数据验证


虽然您完全可以在外接程序中实现自己的数据验证,但它与内置的数据验证工具不同。目前没有用于以编程方式配置Excel数据验证工具的API

这里我尝试在范围内的excel单元格上添加数据验证

 Excel.run(function (context) {
    var currentWorksheet = context.workbook.worksheets.getActiveWorksheet();
    var expensesTable = currentWorksheet.tables.add("A1:D1", true /*hasHeaders*/);
    expensesTable.name = "ExpensesTable";
    expensesTable.getHeaderRowRange().values = [["Date", "Merchant", "Category", "Amount"]];
    expensesTable.rows.add(null /*add at the end*/, [
        ["1/1/2017", "The Phone Company", "Communications", "120"],
        ["1/2/2017", "Northwind Electric Cars", "Transportation", "142.33"],
        ["1/5/2017", "Best For You Organics Company", "Groceries", "27.9"],
        ["1/10/2017", "Coho Vineyard", "Restaurant", "33"],
        ["1/11/2017", "Bellows College", "Education", "350.1"],
        ["1/15/2017", "Trey Research", "Other", "135"],
        ["1/15/2017", "Best For You Organics Company", "Groceries", "97.88"]
    ]);
    var range = currentWorksheet.getRange("C2:C200");
    range.dataValidation.clear();
    range.dataValidation.rule = {
        list: {
            inCellDropDown: true,
            source: "Groceries, Education, Other,Transportation",
            autofitColumns: true
        }
    };
    //range.dataValidation.errorAlert = {
    //    message: "Sorry, only positive numbers are allowed",
    //    showAlert: true,
    //    style: "Stop",
    //    title: "Negative Number Entered"
    //};
    list.find();

    return context.sync();
}).catch(function (error) {
    console.log("Error: " + error);
    if (error instanceof OfficeExtension.Error) {
        console.log("Debug info: " + JSON.stringify(error.debugInfo));
    }
});

是否可以通过Office JS获得单元格中的“下拉列表”功能,而无需Excel数据验证?换句话说,我希望下拉列表与其说是为了数据验证,不如说是为了方便用户输入数据。也就是说,在不久的将来,它将成为团队的雷达。@MichaelZlatkovsky Microsoft对此有任何更新吗?