Skip to content
开发文档
能力中心
应用市场
WebOffice
开发者后台

Criteria.Values (属性)

说明

筛选条件项值

各筛选规则独立地限制了values数组内最多允许填写的元素数,当values内元素数超过阈值时,该筛选规则将失效。“为空、不为空”只允许在op为“Intersected”时填写。“介于”允许最多填写2个元素;“指定值”允许填写65535个元素;其他规则允许最多填写1个元素 values[]数组内的元素为字符串时,表示文本匹配。目前还支持对日期进行动态筛选,此时values[]内的元素需以结构体的形式给出:

const dateValue = {"dynamicType": "lastMonth","type": "DynamicSimple"}
Criteria("@日期", "Equals", [dateValue])

上述示例对应的筛选条件为“等于上一个月”。 要使用日期动态筛选,values[]内的结构体需要指定"type": "DynamicSimple",当"op"为"equals"时,"dynamicType"可以为如下的值(大小写不敏感):

枚举值描述
today今天
yesterday昨天
tomorrow明天
last7Days最近7天
last30Days最近30天
thisWeek本周
lastWeek上周
nextWeek下周
thisMonth本月
lastMonth上月
nextMonth次月

当"op"为"greater"或"less"时,"dynamicType"只能是昨天、今天或明天。

当"op"为"Intersected"时,value=[{type: 'Any'}]表示全选,value=[{type: '', value: ''}]表示空白

对不同字段类型,values会有不同的用法 联系人字段:

// value是一个结构体,指定type为 Contact, value 为用户id
const dateValue = {"type":"Contact", value:"user id"}

单/多选项字段:

// value是一个结构体,指定type为 SelectItem, value 为选项的ID
const dateValue = {"type":"SelectItem", value:"B"}

浏览器环境示例

javascript
async function example() {
    // 添加一个筛选条件
    await instance.ready();
    const app = instance.Application;
    const filters = await app.Sheets(1).Views(1).Filters;
    const criteria = app.Criteria(1, 'Equals', ['1'])
    const filter = await filters.Add(criteria);

    // 读取添加的筛选条件规则
    const criteria = await app.Sheets(1).Views(1).Filters.item(1).Criteria
    console.log(criteria.Op) // "Equals"
    console.log(criteria.Field) // 1
    console.log(criteria.Values) // [{type: 'Text', value: '1'}]
 }

脚本编辑器示例

javascript
function main() {
    // 添加一个筛选条件
    const filters = Application.Sheets(1).Views(1).Filters;
    const criteria = Application.Criteria(1, 'Equals', ['1'])
    const filter = filters.Add(criteria);

    // 读取添加的筛选条件规则
    const criteria = Application.Sheets(1).Views(1).Filters.item(1).Criteria
    console.log(criteria.Op) // "Equals"
    console.log(criteria.Field) // 1
    console.log(criteria.Values) // [{type: 'Text', value: '1'}]
 }
main()
回到旧版