Skip to content

数据有效性(Validation)

代表工作表区域的数据有效性规则

方法列表

方法说明
新增数据有效性规则
删除数据有效性规则
修改数据有效性规则

Add()

新增数据有效性规则

语法

表达式.Range.Validation.Add({ Type, Operator, Formula1, Formula2 })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Type
Enum
验证警报样式,可以是 Enum.XlDVType 中的值
Operator
Enum
数据验证运算符,可以是 Enum.XlFormatConditionOperator 中的值
Formula1
String
数据验证公式中的第一部分,值不得超过 255 个字符
Formula2
String
当 Operator 参数为 xlBetween 或 xlNotBetween 时, 数据验证等式的第二部分(否则, 将忽略此参数)

示例

js
//@file=base.xlsx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 区域对象
  const range = await app.Range('A1')

  // 数据有效性对象
  const validation = await range.Validation

  // 添加数据验证
  await validation.Add({
    Type: app.Enum.XlDVType.xlValidateWholeNumber,
    Operator: app.Enum.XlFormatConditionOperator.xlBetween,
    Formula1: '1',
    Formula2: '5'
  })
}

Delete()

删除数据有效性规则

语法

表达式.Range.Validation.Delete()

表达式:文档类型应用对象

示例

js
//@file=base.xlsx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 区域对象
  const range = await app.Range('A1')

  // 数据有效性对象
  const validation = await range.Validation

  // 添加数据验证
  await validation.Add({
    Type: app.Enum.XlDVType.xlValidateWholeNumber,
    Operator: app.Enum.XlFormatConditionOperator.xlBetween,
    Formula1: '1',
    Formula2: '5'
  })

  // 5 秒后删除规则
  setTimeout(async () => {
    await validation.Delete()
  }, 10000)
}

Modify()

修改数据有效性规则

语法

表达式.Range.Validation.Modify({ Type, Operator, Formula1, Formula2 })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Type
Enum
验证警报样式,可以是 Enum.XlDVType 中的值
Operator
Enum
数据验证运算符,可以是 Enum.XlFormatConditionOperator 中的值
Formula1
String
数据验证公式中的第一部分,值不得超过 255 个字符
Formula2
String
当 Operator 参数为 xlBetween 或 xlNotBetween 时, 数据验证等式的第二部分(否则, 将忽略此参数)

示例

js
//@file=base.xlsx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 区域对象
  const range = await app.Range('A1')

  // 数据有效性对象
  const validation = await range.Validation

  // 添加数据验证
  await validation.Add({
    Type: app.Enum.XlDVType.xlValidateWholeNumber,
    Operator: app.Enum.XlFormatConditionOperator.xlBetween,
    Formula1: '1',
    Formula2: '5'
  })

  // 10 秒后修改规则
  setTimeout(async () => {
    await validation.Modify({
      Type: app.Enum.XlDVType.xlValidateWholeNumber,
      Operator: app.Enum.XlFormatConditionOperator.xlNotBetween,
      Formula1: '1',
      Formula2: '5'
    })
  }, 10000)
}