找回密码
 立即注册

QQ登录

只需一步,快速开始

TiamoHoney

注册会员

9

主题

25

帖子

88

积分

注册会员

积分
88
TiamoHoney
注册会员   /  发表于:2023-8-23 13:20  /   查看:1529  /  回复:4
1金币
在报表配置界面配置条件格式后,后端可以获取得到配置的全部条件规则,请问在后端有什么方法可以得到这个条件格式的结果?

代码:

        IWorksheet worksheet = workbook.getActiveSheet();
        IFormatConditions formatConditions = worksheet.getUsedRange().getFormatConditions();

        for (int i = 0; i < formatConditions.getCount(); i ++) {
           IFormatCondition iFormatCondition = (IFormatCondition) formatConditions.get(i);
            // 有什么方式可以获取得到已配置的条件格式iFormatCondition 在该工作表的结果
        }

前端SpreadJS 存在计算引擎可以计算得到结果:
前端代码:
      const sheet = spread.getActiveSheet();
      const cfs = [url=]sheet.conditionalFormats;[/url]
      //@ts-ignore
      const rules = cfs.getRules();
      for (const rule of rules) {
         const formula = [url=]rule.condition().formula();[/url]
         const result = GC.Spread.Sheets.CalcEngine.evaluateFormula(
          gcSpread.getActiveSheet(),
          formula,
         );
       } // result即为条件格式在工作表中的结果


GCExcel是否存在同样的方法可以计算得到该结果?

最佳答案

查看完整内容

您试下这段代码

4 个回复

倒序浏览
最佳答案
最佳答案
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-8-23 13:20:23
来自 3#
您试下这段代码
  1. worksheet.evaluate((String) iFormatCondition.getFormula1())
复制代码


回复 使用道具 举报
TiamoHoney
注册会员   /  发表于:2023-8-23 13:24:58
2#
GCExcel中IFormatCondition接口类提供iFormatCondition.getStopIfTrue();方法,其定义为返回一个布尔值,该值确定如果当前规则的计算结果为True,是否应计算单元格上的其他格式规则,是否存在直接返回当前规则的计算结果
回复 使用道具 举报
TiamoHoney
注册会员   /  发表于:2023-8-23 16:35:02
4#

感谢 我已经按照该方法解决了问题
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-8-23 16:46:59
5#
TiamoHoney 发表于 2023-8-23 16:35
感谢 我已经按照该方法解决了问题

好的,那本帖就先结贴啦,有问题欢迎发新帖询问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部