我在使用FineReport制作.cpt模板时,遇到了一个关于过滤条件的问题。

大家好,

我在使用FineReport制作.cpt模板时,遇到了一个关于过滤条件的问题。

在单元格中设置过滤条件后,如果复制这个单元格,我希望过滤条件能根据位置相对变化(比如原来引用的是B1,复制到下一列后自动变为C1)。请问,FineReport支持这种相对引用方式吗?

如果不支持,我尝试使用ROW()和COL()函数来获取当前单元格的位置,然后拼接成单元格引用来作为过滤条件,例如使用:

CONCATENATE(CHAR(64 + COL()), ROW())

但是这个方法似乎没有效果。请问有没有其他办法可以实现根据当前单元格位置来动态设置过滤条件?

非常感谢!

FineReport intintindex 发布于 2025-6-17 09:36
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
用户k6280494Lv6专家互助
发布于2025-6-17 09:37(编辑于 2025-6-17 09:38)

eval(CONCATENATE(CHAR(64 + COL()), ROW())) 试试

EVAL(exp)返回表达式exp计算后的结果。

exp:一个表达式形式字符串。

备注:

    只要EVAL中的参数exp最终可以转化成一表达式形式的字符串,比如"sum(2,4)","2+7"等等,那么它就可以被计算。

EVAL("2+5")等于7。

EVAL("count(2,3)")等于2。

EVAL("sum"+"(2,3,5)")等于10。

EVAL(IF(true, "sum", "count") + "(1,2,3,4)")等于10。

EVAL(IF(false, "sum", "count") + "(1,2,3,4)")等于4。

  • 2关注人数
  • 22浏览人数
  • 最后回答于:2025-6-17 09:38
    请选择关闭问题的原因
    确定 取消
    返回顶部