handsontable 的子项目 rulejs:如何获取公式单元格的计算值?
handsontable's subproject rulejs: how to get the calculated value of a formula cell?
handsontable 的 rulejs 子项目很棒。但是我找不到任何可以模拟电子表格 "paste special" 的东西。所以,如果我写
afterOnCellMouseDown: function(r, c) {
var x = hotdata[c['row']][c['col']];
document.getElementById("valorCelCorrente").innerHTML = x;}
我得到的是公式,而不是单元格显示的计算值。手动复制和粘贴也是如此。
fiddle 示例:https://jsfiddle.net/zota/j2a04w83/3/
有什么线索吗?非常感谢
胡里奥
我遇到了同样的问题,但在 this question 的帮助下解决了。
首先,您可以使用 hot.plugin.helper.cellValue('CELL REF')
来获取实际值,但是在使用 getData() 时,您正在查看整个集合。为了解决这个问题,我基本上遍历了数组,用值替换了任何公式单元格(我只需要 'K' 之前的列):
var aCols = ['A','B','C','D','E','F','G','H','I','J','K'];
var data = hot.getData();
for (i = 0; i < data.length; i++){
for(j = 0; j < data[i].length; j++){
if(data[i][j].toString().indexOf('=') > -1){
data[i][j] = hot.plugin.helper.cellValue (aCols[j] + (i+1));
}
}
}
handsontable 的 rulejs 子项目很棒。但是我找不到任何可以模拟电子表格 "paste special" 的东西。所以,如果我写
afterOnCellMouseDown: function(r, c) {
var x = hotdata[c['row']][c['col']];
document.getElementById("valorCelCorrente").innerHTML = x;}
我得到的是公式,而不是单元格显示的计算值。手动复制和粘贴也是如此。 fiddle 示例:https://jsfiddle.net/zota/j2a04w83/3/ 有什么线索吗?非常感谢 胡里奥
我遇到了同样的问题,但在 this question 的帮助下解决了。
首先,您可以使用 hot.plugin.helper.cellValue('CELL REF')
来获取实际值,但是在使用 getData() 时,您正在查看整个集合。为了解决这个问题,我基本上遍历了数组,用值替换了任何公式单元格(我只需要 'K' 之前的列):
var aCols = ['A','B','C','D','E','F','G','H','I','J','K'];
var data = hot.getData();
for (i = 0; i < data.length; i++){
for(j = 0; j < data[i].length; j++){
if(data[i][j].toString().indexOf('=') > -1){
data[i][j] = hot.plugin.helper.cellValue (aCols[j] + (i+1));
}
}
}