[]
사용자가 API를 호출하여 수식을 변경할 때마다 SpreadJS는 해당 변경 사항에 대응하기 위해 자동으로 계산을 수행합니다. 만약 사용자가 많은 수식을 한 번에 적용하고자 하지만 중간 계산 결과는 보고 싶지 않을 경우, suspendCalcService 메서드와 resumeCalcService 메서드를 사용하는 것이 권장됩니다.
suspendCalcService 메서드는 수식 설정이 완료될 때까지 계산 프로세스를 중단시켜 줍니다. 이후 resumeCalcService 메서드를 호출하면 계산 기능이 다시 활성화됩니다. 이 두 메서드는 특히 수식이 많은 대용량 워크시트를 다룰 때 성능을 크게 향상시켜 줍니다.
다음은 suspendCalcService 및 resumeCalcService 메서드를 사용하여 워크시트에 대량의 수식을 설정하는 코드 예제입니다.
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();