SpreadJS Documentation
Setting Large Amounts of Formulas
SpreadJS Documentation > Developer's Guide > Best Practices > Setting Large Amounts of Formulas

Each time a user invokes the API to change the formula, SpreadJS will auto calculate in order to respond to the modifications. If a user wants to integrate a lot of changes in the formulas at once but doesn't wish to see the intermediate calculation result, it is recommended to use the suspendCalcService method and the resumeCalcService method. 

The suspendCalcService method will stop the calculation process until the formula settings are complete. Later, the resumeCalcService method can be called to restore the calculation system. Both of these methods enhance performance to a great extent especially when users have massive worksheets with a lot of formulas.

Refer to the following code snippet in order to set large amounts of formulas in the worksheets using the suspendCalcService method and the resumeCalcService method. 

JavaScript
Copy Code
var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'), { sheetCount: 1 });
var sheet = spread.getSheet(0);
spread.suspendPaint();
sheet.suspendCalcService(true);
sheet.setRowCount(10000);
sheet.setColumnCount(100);
for (var i = 0; i < 10000; i++) {
for (var j = 0; j < 100; j++) {
sheet.setFormula(i, j, "DATE(2019,3,11)", GC.Spread.Sheets.SheetArea.viewport);
sheet.getCell(i, j).formatter("yyyy/mm/dd");
sheet.setColumnWidth(j, 80.0, GC.Spread.Sheets.SheetArea.viewport);
}
}
sheet.resumeCalcService(false);
spread.resumePaint();