我有一个使用可提琴的网页。在此页面中,我正在尝试以编程方式将一些数据放入电子表格中并执行一些公式。我的公式正常工作,直到一个值包括逗号。例如,在此JSfiddle中,我有以下代码:
var hot = null;
initHot();
loadFormulas();
loadData();
function initHot() {
var container = document.getElementById('example');
var hCols = [ 'A', 'B', 'C', 'D', 'E' ];
var hRows = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '10' ];
var sdata = [
[ 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 0, 0, 0 ],
[ 0, 0, 0, 0, 0, 0 ]
];
hot = new Handsontable(container, {
startRows: hRows.length,
rowHeaders: hRows,
startCols: hCols.length,
colHeaders: hCols,
data: sdata,
formulas: true,
height: 300
});
}
function loadFormulas() {
// In my app, this happens async, but I'm just plugging it in here to demo it.
hot.setDataAtCell(2, 0, '=A1-A2');
hot.setDataAtCell(9, 0, '=SUM(A3:A9)');
}
function loadData() {
// In my app, this happens at runtime, but I'm just plugging it in here to demo it.
hot.setDataAtCell(0, 0, '1000');
hot.setDataAtCell(1, 0, '3000');
hot.setDataAtCell(3, 0, '5000');
hot.setDataAtCell(4, 0, '6500');
hot.setDataAtCell(5, 0, '7000');
hot.setDataAtCell(6, 0, '8000');
hot.setDataAtCell(7, 0, '9000');
hot.setDataAtCell(8, 0, '10,000');
}
电池A10应导致值43500。但是,由于单元A9中的逗号,它的计算错误。当存在逗号时,可提座的可将电池中的值视为零。如果将10,000更改为10000,则可以正确计算。我如何支持值以使公式仍然正确执行的逗号?
由于LocalMachine的区域设置,您的电子表格可能无法正确计算。尝试改变"。"使用",或更改日期 - 时间 - 数字格式。