我目前有一个使用AngularJS / SpreadJS的解决方案,我们需要用公式更新标头部分。当我们使用setValue更改标题中的单元格值时,所有显示都可以,但是我们需要使用setFormula显示公式,在这种情况下,该公式将被计算并显​​示在属于我的数据所在实际工作表的行中。

//Does not work and displays in row 2 of the sheet:
sheet.setFormula(2, i, formula, GC.Spread.Sheets.SheetArea.colHeader);

//Displays value in actual header in teh correct location/header cell
sheet.setValue(2, i, 'my formula!', GC.Spread.Sheets.SheetArea.colHeader);


任何帮助将不胜感激。谢谢!

最佳答案

实现以下解决方案以在电子表格的“列标题”中实现SUM公式。可以在电子表格事件(如cellChanged,clipBoardPasted)上调用此函数以实现功能。

   var spread = new GC.Spread.Sheets.Workbook($("#ss").get(0), { sheetCount: 2 });
    var displaySheet = spread.getSheet(0);
    displaySheet.setRowCount(2, GC.Spread.Sheets.SheetArea.colHeader);

    for (var i = 0; i < 10; i++) {
        for (var j = 0; j < 10; j++) {
            displaySheet.setValue(i, j, i + j);
        }
    }
    $("#btnSetAutoTotal").click(function () {
        setTotal(displaySheet, 0);
    });

   function setTotal(sheet, columnIndex) {
    var formula = "SUM(R[1]C[1]:R[10]C[10]";
    value = GC.Spread.Sheets.CalcEngine.evaluateFormula(sheet, 'SUM(A:A)', 0,
   columnIndex, false);
   sheet.setValue(0, columnIndex, value, GC.Spread.Sheets.SheetArea.colHeader);

};

09-26 10:20