Handsontable 和热公式解析器
Posted
技术标签:
【中文标题】Handsontable 和热公式解析器【英文标题】:Handsontable and hot-formula-parser 【发布时间】:2018-09-04 13:47:35 【问题描述】:是否可以将自定义函数 ('ADD_5') 包含/注册到 handsontable 中?
以下示例正在运行,从 B2 到 B4 的所有单元格值都等于 42。只有 B5 = ADD_5(37) 返回 #NAME?而不是 42。
我必须在哪里定义函数并将其添加到表的现有解析器中?
<div id="example1" class="handsontable"></div>
<script data-jsfiddle="example1">
$(document).ready(function ()
var data1 = [
['Number', 'Answer'],
[10, 42],
[10, '=SUM(A2:A5)'],
[10, '=A2 + A3 + A4 + A5'],
[12, '=ADD_5(37)']
];
var container1 = $('#example1');
container1.handsontable(
data: data1,
minSpareRows: 1,
colHeaders: true,
rowHeaders: true,
contextMenu: true,
manualColumnResize: true,
formulas: true
);
parser.setFunction('ADD_5', function(params)
return params[0] + 5;
);
);
</script>
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:According to official doc:
公式插件允许 Handsontable 处理在提供的数据中定义的公式表达式。这个插件使用了一个公式解析器库,它采用了来自 formula.js 的大部分函数。
然后您需要将公式添加到formula.js
【讨论】:
非常感谢。我可以通过在 formula.js 中添加 exports.ADD_5=function()... 和 default=[ "ABS","ACCRINT", "ADD_5" ... 来创建自己的函数 - 这不是最好的解决方案但至少它有效。以上是关于Handsontable 和热公式解析器的主要内容,如果未能解决你的问题,请参考以下文章
请问,jQuery Handsontable控件如何像excel一样,设置公式,让某个单元格的值自动算出来?
Handsontable 公式#VALUE!错误,即使单元格的公式是正确的