2

与包含 Range 对象上的“Precedents”和“Dependents”的桌面 Excel API 不同,Excel Javascript API 的简短回答是否定的,这将我带到这里。

有没有办法或第三方代码来规避微软的这一巨大缺陷?如果我无法浏览公式树,那么就 Excel Online 的加载项而言,我可以添加的用处不大。

Excel 的 JavaScript API

在线办公

更新:为了添加一些上下文,我过去一直在用 C# 编写审计插件,以评估公式的复杂性、执行公式的高级协调、以不同的方式重建公式等......我正在尝试转换一小块其中,作为一个javascript原型插件,看看Excel在线能不能处理。

4

2 回答 2

2

我在今年早些时候看过这个。
目前唯一的方法是从公式中解析出引用,考虑到可能的引用类型多种多样,这是不平凡的(但可以实现的)。

对于初学者看这里http://ewbi.blogs.com/develops/2004/12/excel_formula_p.html

即便如此,您仍然会对返回 OFFSET、INDIRECT 等引用的函数有限制,因为 JS API 目前没有任何 Evaluate 方法。
为了全面起见,您还需要处理隐式交集等问题。

最新版本的 JS API 确实包含处理命名公式的方法,这是向前迈出的一大步,因此解析器也可以在其中找到引用。

于 2017-11-15T15:42:24.443 回答
-1

为什么你想知道一个细胞的先例?是否要实现类似公式的功能,以便您的插件可以启用诸如=JEROMESUM(A1,A7)

如果是这样,JavaScript API 最近在预览中添加了此功能供您尝试,称为“自定义函数”:https ://aka.ms/customfunctions

于 2017-11-13T22:21:27.533 回答