找回密码
 立即注册

QQ登录

只需一步,快速开始

helloworldplus

注册会员

8

主题

20

帖子

72

积分

注册会员

积分
72
最新发帖
helloworldplus
注册会员   /  发表于:2024-11-15 14:01  /   查看:93  /  回复:4
1金币
想实现的效果:给单元格添加唯一标识,该标识与该单元格绑定,即使单元格位置移动标识不变,也可以直接通过该标识查到该单元格。
实现方式:
  1. 通过setTag实现,但是查询的时候只能遍历单元格获取tag,然后进行对比,感觉手动遍历的方式不太好。
  2. 通过addCustomName实现,虽然可以直接通过设置的名称查到行列数据,但是该方法其实是与位置关系绑定的,如果单元格移动,获取的数据其实还是addCustomName时的行列数据。
备注:spreajds内置有单元格唯一标识吗?或者还有其他方式能够实现我想要的效果吗

最佳答案

查看完整内容

您好!通过addCustomName为单元格设置名称后,通过NameInfo:getExpression()即可获取单元格的位置信息,即便由于添加删除行列导致单元格位置移动,也将同步更新。

4 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:7 天前
来自 2#
您好!通过addCustomName为单元格设置名称后,通过NameInfo:getExpression()即可获取单元格的位置信息,即便由于添加删除行列导致单元格位置移动,也将同步更新。
单元格名称位置.gif
回复 使用道具 举报
helloworldplus
注册会员   /  发表于:6 天前
3#
本帖最后由 helloworldplus 于 2024-11-16 21:32 编辑
Wilson.Zhang 发表于 2024-11-15 17:23
您好!通过addCustomName为单元格设置名称后,通过NameInfo:getExpression()即可获取单元格的位置信息,即 ...

您好,我代码中通过addCustomName设置名称后,再通过getExpression获取到的数据不一样,但是按照gif中通过菜单设置后获取到的数据是一致的;我想通过desginer的DefineName内置命令实现,但是运行命令后直接打开了设置弹窗,我想直接通过代码设置而不打开弹窗,但是不知道如何传递参数,有相关案例吗
回复 使用道具 举报
helloworldplus
注册会员   /  发表于:6 天前
4#
helloworldplus 发表于 2024-11-16 21:28
您好,我代码中通过addCustomName设置名称后,再通过getExpression获取到的数据不一样,但是按照gif中通 ...

已找到问题所在,谢谢
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:4 天前
5#
helloworldplus 发表于 2024-11-16 22:09
已找到问题所在,谢谢

解决了就好!相信您现在应该也了解DefineName的使用了,该命令能够触发设置对话框。如果您需要通过命令对单元格设置名称,那应该通过addOrSetCustomName命令,您可以通过如下命令监听通过UI触发的操作,以了解相关命令的使用参数:
  1. spread.commandManager().addListener('-', function(args) {
  2.     console.log('commandManager, args: ', args);
  3. });
复制代码

那就结帖了。如有新问题,欢迎发新帖沟通。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部