# 대량 수식 설정

## Content

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

```JavaScript
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();
```