FR有无公式可以获取当前单元格的位置

比如$$$是获取当前单元格的值,有没有这种公式获取当前单元格是B9还是E7

FineReport yzmMArmb1895213 发布于 5 天前
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
0
华莉星宸Lv7专家互助
发布于5 天前

var location = this.options.location;  //获取当前控件的位置

var cr = FR.cellStr2ColumnRow(location);

var col = cr.col;  //列号

var ro = cr.row;  //行号

contentPane.setCellValue(0,col,ro,"A");//赋值当前单元格

var a=contentPane.getCellValue(0,col,ro);//获取当前单元格值

  • yzmMArmb1895213 yzmMArmb1895213(提问者) 需要公式,不能是JS,获取这个是为了与相对前一格、前两个的单元格比较大小改变背景色
    2025-07-15 17:06 
  • 华莉星宸 华莉星宸 回复 yzmMArmb1895213(提问者) 公式 直接写 对应的单元格 B3这样就行啊
    2025-07-15 17:07 
  • yzmMArmb1895213 yzmMArmb1895213(提问者) 回复 华莉星宸 但是这样需要对每个单元格单独去写条件属性,不能自动根据所在位置获取
    2025-07-17 09:13 
最佳回答
0
ScyalcireLv7高级互助
发布于5 天前

可以自定义函数获取行列号通过Java自定义函数可精确获取物理位置

// 在自定义函数run方法中调用
int[] pos = this.getCalculator().getCurrentColumnRow();
// pos[0]为列号(A=1), pos[1]为行号

需编译后注册到函数管理器使用

最佳回答
0
yalinLv7中级互助
发布于5 天前
试试以下FR的公式:

=ROW()   // 返回当前单元格的行号
=COL()   // 返回当前单元格的列号

最佳回答
0
shirokoLv6资深互助
发布于5 天前(编辑于 4 天前

公式有COL()和ROW()

但是没有办法把 列的数字转为字母

我这边是写了一个自定义函数COLUMN2STR,image.pngimage.png

image.png

COLUMN2STR.zip

最佳回答
0
iQianLv4初级互助
发布于5 天前

你最好说一下,你想做什么??

如果,最终的行列都是扩展出来的,你取到 B9,大概也是是没有意义的。

你用这个位置的作用什么,若是为了实现某项功能,可能有更好的方案。

不妨说一说?!

最佳回答
0
CD20160914Lv8专家互助
发布于5 天前

一个公式下拉,右拉。会得到对应的结果

if(col()<=64,CONCATENATE(CHAR(COL()+64),row()),CONCATENATE(CONCATENATE(char(ROUNDUP(col() / 26, 0) - 1 + 64), char(if(mod(col(), 26) = 0, 26, mod(col(), 26)) + 64)),row()))

支持超过26列的单元格

image.png

image.png

image.png

不知道你要做什么,其实用层次坐标就行了比如

b3[a3:-1]  表是以b3单元格扩展为标准,取它A3为父格扩展取出来的前一行的数据

层次坐标函数示例

image.png

image.png

  • 7关注人数
  • 69浏览人数
  • 最后回答于:4 天前
    请选择关闭问题的原因
    确定 取消
    返回顶部