菜菜。 发表于 2024-12-30 16:24:13

【公式校验】如何知道哪些单元格校验通过,哪些单元格校验未通过

const spread = this.getSpread();
    const { col, compareSymbol, threshold, row } = params;
    const activeSheet = spread.getActiveSheet();
    // 无效数据 设置背景色
    const cfs = activeSheet.conditionalFormats;
    let style = new GC.Spread.Sheets.Style();
    style.backColor = '#FBD4D8';
    let operator = GC.Spread.Sheets.RowColumnStates.invalid;
    let ranges = ;
    cfs.addColumnStateRule(operator, style, ranges);
    let dv = GC.Spread.Sheets.DataValidation.createFormulaValidator(`CustomerCondition("${compareSymbol},${threshold}")`); // 创建公式验证器
    activeSheet.setDataValidator(-1, col, dv, GC.Spread.Sheets.SheetArea.viewport);

如何知道哪些单元格校验通过,哪些单元格未校验通过?

Wilson.Zhang 发表于 2024-12-30 17:28:32

您好!可以通过单元格的样式了解条件格式规则校验通过与否。请教下您需要做什么?

菜菜。 发表于 2024-12-30 17:33:03

Wilson.Zhang 发表于 2024-12-30 17:28
您好!可以通过单元格的样式了解条件格式规则校验通过与否。请教下您需要做什么?

需要在保存的时候拿到所有校验未通过的单元格,判断这些单元格是否有备注

Wilson.Zhang 发表于 2024-12-31 08:55:23

菜菜。 发表于 2024-12-30 17:33
需要在保存的时候拿到所有校验未通过的单元格,判断这些单元格是否有备注

您提到的“备注”是通过条件格式校验的单元格才会有的吗?这些“备注”是单元格tag还是comment呢?

我理解如果是使用tag或者comment,可以通过遍历单元格检查是否有tag或comment。

如果我的理解不太符合您的需求场景,需要您详细介绍下情况。

菜菜。 发表于 2024-12-31 09:14:19

Wilson.Zhang 发表于 2024-12-31 08:55
您提到的“备注”是通过条件格式校验的单元格才会有的吗?这些“备注”是单元格tag还是comment呢?

我 ...

是批注。但是校验通过和不通过的单元格都可能加批注;首先需要判断当前单元格是否校验通过,然后在判断是否有批注。想问下有没有什么方法可以收集检验未通过的单元格,有没有什么方法可以判断当前单元格是否校验通过

Ellia.Duan 发表于 2024-12-31 09:19:12

    let usedRange = sheet.getUsedRange(GC.Spread.Sheets.UsedRangeType.dataValidation)
      const {row, col, rowCount, colCount: cCount} = usedRange
      for (let i = row; i < row + rowCount; i++) {
            for (let j = col; j < col + cCount; j++) {
                if(!sheet.isValid(i, j, sheet.getValue(i, j))){
                  console.log(i, j);
                }

            }
      }可以通过上述代码,查找未通过验证的单元格

菜菜。 发表于 7 天前

Ellia.Duan 发表于 2024-12-31 09:19
可以通过上述代码,查找未通过验证的单元格

这个可以,谢谢

Ellia.Duan 发表于 7 天前

好的,那本帖就先结贴啦,有问题欢迎发新帖交流。
页: [1]
查看完整版本: 【公式校验】如何知道哪些单元格校验通过,哪些单元格校验未通过