使用Office JS使用自定义过滤器将文本过滤器应用于Excel工作表表列

时间:2018-06-26 09:21:45

标签: javascript excel office-js

我需要使用Office.js将过滤器应用于Excel表。我可以根据列值应用过滤器,如下所示:

function filterOutputSheet() {
    Excel.run(function (context) {
        var sheet = context.workbook.worksheets.getItem("Sheet1");
        var outputTable = sheet.tables.getItem("OutputTable");
        var filter = outputTable.columns.getItem('column1').filter;          
        filter.applyValuesFilter(["test"]);
        return context.sync(console.log("filter"));

    })
};

但是我的要求是实现包含在列中的文本过滤器。我已经检查过docs in GitHub。它具有很少的属性(例如custom和条件1)来实现过滤器。但是没有示例代码。 我可以获取一些示例代码来实现包含contains参数的文本过滤器。

1 个答案:

答案 0 :(得分:0)

解决方案

我能够在Office.js中执行以下操作:

filter.applyCustomFilter("*" + mySearchTerm + "*");

实施一个过滤器,该过滤器返回包含我的搜索词的行,即使它们与Excel.FilterOn.values的默认行为不完全匹配。


上下文

在Excel中,转到您要过滤的列:

enter image description here

这将打开“自定义自动筛选”窗口。该窗口中的字段看起来类似于applyCustomFilter()的以下文档:

enter image description here

我的猜测是他们会排成这样:

enter image description here