与桌面Excel API不同,后者包含" Precedents"和一个"家属"在Range对象上,对于Excel Javascript API,简短的答案是否定的,这将我带到这里。
是否存在一种方法或第三方代码来规避微软的这种巨大缺陷?如果我无法浏览公式树,那么就Excel Online的加载项而言,我可以添加的内容并不多。
更新:要添加一些上下文,我过去一直在C#中编写审计加载项,以评估公式复杂性,执行公式的高级对帐,以不同方式重建公式等等。我'我试图转换它的一小部分,作为一个javascript原型加载项,看看Excel在线是否可以处理它。
答案 0 :(得分:2)
我在今年早些时候看过这个。
目前唯一的方法是解析公式中的参考文献,考虑到各种可能的参考类型,公式是非平凡的(但是可以实现的)。
首先查看http://ewbi.blogs.com/develops/2004/12/excel_formula_p.html
即便如此,你仍然会对返回像OFFSET,INDIRECT等引用的函数有限制,因为JS API目前没有任何Evaluate方法。
为了全面,你还需要处理像Implicit Intersection这样的东西等
最新版本的JS API确实包含处理命名公式的方法,这是向前迈出的一大步,因此解析器也能够在这些方法中找到引用。
答案 1 :(得分:-1)
为什么你想知道一个细胞的先例?是否要实现类似公式的功能,以便您的添加可以启用=JEROMESUM(A1,A7)
?
如果是这样,JavaScript API最近在预览中添加了此功能供您尝试,称为“自定义函数”:https://aka.ms/customfunctions