找回密码
 立即注册

QQ登录

只需一步,快速开始

1金币
本帖最后由 低调的繁华 于 2024-8-27 09:29 编辑

示例如下:
①    ='中文_tutu'!D1    然后通过相关的api可以直接获取"中文_tutu"和"D1"

②    ='中文_tutu'!D1+'中文_tutu2'!D2   然后通过相关的api可以直接获取sheetName列表(中文_tutu,中文_tutu2)和坐标值列表(D1,D2)

最佳答案

查看完整内容

如果您的公式引用的Worksheet名称是She''e.t{9,在解析时会认为其中的两个连续单引号的前者用以转义后者,这与Worksheet名称规则规定的名称合法性相关。您试下将公式中的Worksheet名称修改为She''''e.t{9。

31 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2024-8-26 23:05:55
来自 7#
本帖最后由 Ellia.Duan 于 2024-8-27 15:05 编辑
低调的繁华 发表于 2024-8-27 13:16
你好 我尝试基于当前函数去解析公式"'She''e.t{9'!A5",但是解析出来的sheetName却是"She'e.t{9",不符合我 ...

如果您的公式引用的Worksheet名称是She''e.t{9,在解析时会认为其中的两个连续单引号的前者用以转义后者,这与Worksheet名称规则规定的名称合法性相关。您试下将公式中的Worksheet名称修改为She''''e.t{9。
image.png548717345.png
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-27 09:01:33
2#
您好!暂时没有相关的API能直接支持通过解析一个公式获取其中的Worksheet名称和引用单元格信息,给您提供一个思路,即通过正则表达式等自定义规则解析公式的字符串内容,自行实现之。您可以尝试下是否能满足您的需求。
回复 使用道具 举报
低调的繁华
金牌服务用户   /  发表于:2024-8-27 10:03:00
3#
Wilson.Zhang 发表于 2024-8-27 09:01
您好!暂时没有相关的API能直接支持通过解析一个公式获取其中的Worksheet名称和引用单元格信息,给您提供一 ...

我现在其实就是这样实现的,但是感觉这种方式不太好,我们的场景中会接入用户导入的各种报表模板,上传的sheet名称中会有一些特殊字符存在导致正则容易匹配失败。
回复 使用道具 举报
低调的繁华
金牌服务用户   /  发表于:2024-8-27 10:43:35
4#
Wilson.Zhang 发表于 2024-8-27 09:01
您好!暂时没有相关的API能直接支持通过解析一个公式获取其中的Worksheet名称和引用单元格信息,给您提供一 ...

FormulaSyntaxTree syntaxTree = FormulaSyntaxTree.Parse(Formula);
其实是可以通过当前的公式解析器来实现的
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-27 11:07:06
5#
低调的繁华 发表于 2024-8-27 10:43
FormulaSyntaxTree syntaxTree = FormulaSyntaxTree.Parse(Formula);
其实是可以通过当前的公式解析器 ...

FormulaSyntaxTree的确可以解析公式,您可以尝试是否能据此获取到您需要的Worksheet名称和引用单元格信息。
回复 使用道具 举报
低调的繁华
金牌服务用户   /  发表于:2024-8-27 13:16:24
6#
Wilson.Zhang 发表于 2024-8-27 11:07
FormulaSyntaxTree的确可以解析公式,您可以尝试是否能据此获取到您需要的Worksheet名称和引用单元格信息 ...

你好 我尝试基于当前函数去解析公式"'She''e.t{9'!A5",但是解析出来的sheetName却是"She'e.t{9",不符合我的预期"She''e.t{9"值,这个要怎么处理下?
回复 使用道具 举报
低调的繁华
金牌服务用户   /  发表于:2024-8-27 16:51:37
8#
Wilson.Zhang 发表于 2024-8-27 14:12
如果您的公式引用的Worksheet名称是She''e.t{9,在解析时会认为其中的两个连续单引号的前者用以转义后者 ...

你好我想问下我如何获取其中的A5坐标呢?
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-27 17:14:56
9#
低调的繁华 发表于 2024-8-27 16:51
你好我想问下我如何获取其中的A5坐标呢?

您好!和获取Worksheet名称类似,依然从ReferenceNode实例分别获取行索引和列索引,如下图所示:
1724750082768.png553672179.png
回复 使用道具 举报
低调的繁华
金牌服务用户   /  发表于:2024-8-27 18:51:17
10#
Wilson.Zhang 发表于 2024-8-27 17:14
您好!和获取Worksheet名称类似,依然从ReferenceNode实例分别获取行索引和列索引,如下图所示:

不好意思 我没有表述清楚,你的示例我知道的  我是想直接获取"A5"
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部