找回密码
 立即注册

QQ登录

只需一步,快速开始

高阳0910

初级会员

34

主题

125

帖子

419

积分

初级会员

积分
419
高阳0910
初级会员   /  发表于:2024-4-22 15:07  /   查看:490  /  回复:13
本帖最后由 Joestar.Xu 于 2024-4-24 14:31 编辑

sheet.getCustomNames(), spread.getCustomNames()
这两个方法 获取到的内容 例如:下图
image.png457264403.png



我就是想 我如何通过 名称 获取到 他的引用位置 、范围。有相应的API方法吗?行列索引目前是通过获取到的内容中的WK 中的row、cloumn 。

image.png746638793.png








13 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-4-22 17:34:24
沙发
您好,getCustomNames返回的数据类型为NameInfo[],NameInfo上没有相关的属性存储它来自于哪个sheet,所以如果想要知道CustomName来自哪个,只能遍历sheet,调用getCustomName接口,来判断存在于哪个sheet上。

customName的位置则可以直接调用下面这两个接口来获取。

image.png252182616.png
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
高阳0910
初级会员   /  发表于:2024-4-22 17:49:46
板凳
Joestar.Xu 发表于 2024-4-22 17:34
您好,getCustomNames返回的数据类型为NameInfo[],NameInfo上没有相关的属性存储它来自于哪个sheet,所以 ...

我要做的功能是要获取到引用位置的哪个内容和范围。 没有就算了。结帖吧
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-4-23 08:55:05
地板
好的,暂时没有一个直接的接口能够获取到范围,可以参考我上面的回复中提到的方式来获取自定义名称的范围。

您提到的引用位置的内容指的是单元格的值吗?如果是的话可以直接根据getColumn和getRow取到行列索引,然后调用getValue获取到单元格的值。
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
高阳0910
初级会员   /  发表于:2024-4-23 09:53:31
5#
Joestar.Xu 发表于 2024-4-23 08:55
好的,暂时没有一个直接的接口能够获取到范围,可以参考我上面的回复中提到的方式来获取自定义名称的范围。 ...

不是单元格的值啊。就是创建的时候 比如你点击的是sheet1中的某个单元格。引用位置就是那个。 1d7ea9d5762bc52b520c981fd52e9d2.png452067870.png
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-4-23 10:10:28
6#
本帖最后由 Joestar.Xu 于 2024-4-23 11:59 编辑

错误结论,已删除避免误导。请参考9#的回复。
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
高阳0910
初级会员   /  发表于:2024-4-23 10:19:47
7#
Joestar.Xu 发表于 2024-4-23 10:10
了解了,想要获取这个属性需要使用多个接口将值拼接出来,首先参考:

您能写一下具体的代码吗 ? 要求就是这个名称 的范围是工作簿。要用spread.getCustomNames() 拿到的。然后你再拿一下这个名称引用位置所在的这个SheetName  。
回复 使用道具 举报
高阳0910
初级会员   /  发表于:2024-4-23 11:03:09
8#
Joestar.Xu 发表于 2024-4-23 10:10
了解了,想要获取这个属性需要使用多个接口将值拼接出来,首先参考:

我自己解决了。拿到了sheetName 通过getExpression().source.getName()  然后循环比较的sheetName
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-4-23 11:57:44
9#
好的,很抱歉之前没有完全理解您的意思,如果是要获取自定义名称的引用位置这个信息的话,您可以直接调用下图中的接口来获取这个字符串:

image.png174718016.png

  1. GC.Spread.Sheets.CalcEngine.expressionToFormula(sheet, sheet.getCustomNames()[0].getExpression(), 0, 0);
复制代码


我不太建议您使用source.getName()来获取,因为这是一个内部接口,在将来的版本中可能会发生变动,影响您程序的稳定性。
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
高阳0910
初级会员   /  发表于:2024-4-23 12:34:49
10#
Joestar.Xu 发表于 2024-4-23 11:57
好的,很抱歉之前没有完全理解您的意思,如果是要获取自定义名称的引用位置这个信息的话,您可以直接调用下 ...

部署版本不升级的情况下是否可以一直使用getName()呢?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部