找回密码
 立即注册

QQ登录

只需一步,快速开始

zhouhao

中级会员

69

主题

163

帖子

712

积分

中级会员

积分
712
zhouhao
中级会员   /  发表于:2021-9-22 14:39  /   查看:1540  /  回复:3
本帖最后由 zhouhao 于 2021-9-26 17:45 编辑

比如我给第一行所有单元格都设置了一条公式规则cfs.addFormulaRule(“=$A1=TRUE”, style, [range]),我希望再次设置的时候校验一下是否已经设置了该规则,请问有什么办法获取到吗

    const sheet = context.getSheetFromName(options.sheetName);
    const cfs = sheet.conditionalFormats;
    let style = context.getNamedStyle("taskList");
    if (!style) {
        style = new GC.Spread.Sheets.Style();
        style.name = "taskList";
        style.textDecoration = GC.Spread.Sheets.TextDecorationType.lineThrough;
        context.addNamedStyle(style);
    }
    options.ranges.forEach(({ col, row }) => {
        const range = new GC.Spread.Sheets.Range(row, -1, 1, -1);
        const value = GC.Spread.Sheets.CalcEngine.rangeToFormula(new GC.Spread.Sheets.Range(row, col, 1,1), 0, 0, GC.Spread.Sheets.CalcEngine.RangeReferenceRelative.allRelative);
        cfs.addFormulaRule(`=$${ value }=TRUE`, style, [range]);
    });

3 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-22 14:58:21
沙发
回复 使用道具 举报
zhouhao
中级会员   /  发表于:2021-9-22 15:03:03
板凳
Derrick.Jiao 发表于 2021-9-22 14:58
您可以使用getRules方法,传参行列索引即可。
https://demo.grapecity.com.cn/spreadjs/help/api/GC.Sprea ...

逐个校验所有单元格的所有规则去比对吗?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-22 15:21:31
地板
zhouhao 发表于 2021-9-22 15:03
逐个校验所有单元格的所有规则去比对吗?

是的,还有一个方法是获取该条件格式应用的区域
sheet.conditionalFormats.getRule(0).ranges()
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部