[]
        
(Showing Draft Content)

셀 참조 사용

SpreadJS는 셀 참조를 사용하여 다양한 작업을 수행할 수 있게 해줍니다.

표현식을 수식으로 변환

expressionToFormula 메서드를 사용하여 표현식을 수식으로 변환할 수 있습니다.

var spread =
new GC.Spread.Sheets.Workbook(document.getElementById('ss'),
{ sheetCount: 1 });
sheet = spread.getSheet(0);
sheet.setValue(0, 0, 1);
sheet.setValue(0, 1, 2);
sheet.setValue(0, 2, 3);
sheet.addCustomName("customName1", "=12", 0, 0);
sheet.addCustomName("customName2", "Average(20,45)", 0, 0);
sheet.addCustomName("customName3", "=$A$1:$C$1");
sheet.setFormula(1, 0, "customName1");
sheet.setFormula(1, 1, "customName2");
sheet.setFormula(1, 2, "sum(customName3)");

var cname = sheet.getCustomName("customName2");
if (cname instanceof GC.Spread.Sheets.NameInfo)
{
    // CustomName 가져오기
    var name = cname.getName();
  
    // Expression 가져오기
    var expression = cname.getExpression();
  
    // Expression String 가져오기
    var expStr = GC.Spread.Sheets.CalcEngine.expressionToFormula(sheet, expression, 0, 0);
    console.log("Name: " + name + " ; Expression: " + expStr);
}

수식을 표현식으로 변환

formulaToExpression 메서드를 사용하여 수식을 표현식으로 변환할 수 있습니다.

var spread =
new GC.Spread.Sheets.Workbook(document.getElementById('ss'),
{ sheetCount: 1 });
sheet = spread.getSheet(0);
sheet.setValue(0, 0, 1);
sheet.setValue(0, 1, 2);
sheet.setValue(0, 2, 3);
sheet.getCell(4, 4).formula("=SUM(A1:C1)");

var formula = sheet.getFormula(4, 4);
var expression = GC.Spread.Sheets.CalcEngine.formulaToExpression(sheet, formula, 0, 0);
console.log("Function Name is: " + expression.functionName); 

수식을 범위로 변환

formulaToRanges 메서드를 사용하여 수식 문자열을 지정된 셀 범위로 변환할 수 있습니다.

var spread =
new GC.Spread.Sheets.Workbook(document.getElementById('ss'),
{ sheetCount: 1 });
sheet = spread.getSheet(0);

// formulaToRanges() 메서드를 사용하여 셀 범위를 생성하기
cellRanges = GC.Spread.Sheets.CalcEngine.formulaToRanges(sheet, 'B3:D5', 0, 0);

// 수식에서 범위의 행/열 인덱스와 행 수/열 수를 가져오기
console.log("Starting Row Index of cell range 'B3:D5' is " + cellRanges[0].ranges[0].row);
console.log("Starting Column Index of cell range 'B3:D5' is " + cellRanges[0].ranges[0].col);
console.log("RowCount of cell range 'B3:D5' is " + cellRanges[0].ranges[0].rowCount);
console.log("ColCount of cell range 'B3:D5' is " + cellRanges[0].ranges[0].colCount);

수식 평가

evaluateFormula 메서드를 사용하여 수식을 평가할 수 있습니다.

var spread =
new GC.Spread.Sheets.Workbook(document.getElementById('ss'),
{ sheetCount: 1 });
sheet = spread.getSheet(0);
sheet.setValue(0, 0, 1);
sheet.setValue(1, 0, 2);

// 시트의 셀에 수식을 설정하지 않고 EvaluateFormula() 메서드를 사용하여 수식을 평가할 수 있습니다.
var result =
GC.Spread.Sheets.CalcEngine.evaluateFormula(sheet, "SUM(A1:A2)", 0, 0);
console.log("SUM(A1:A2) = " + result);

Goal Seek 메서드 (목표값 찾기)

goalSeek 메서드를 사용하여 한 셀의 값이 다른 셀에서 원하는 수식 결과를 생성하도록 찾을 수 있습니다.

/* 이 샘플은 목표값 찾기(Goal Seek)를 사용하는 방법을 보여줍니다.
대출 금액은 10,000이고, 기간은 18개월이며, 매달 600을 상환한다고 가정합니다.
이 조건으로 대출 목표를 달성하기 위해 필요한 이자율을 평가합니다. */

sheet.setValue(0, 1, 10000); // 대출 금액
sheet.setValue(1, 1, 18); // 기간(개월)
sheet.setFormatter(2, 1, "0%"); // 이자율
sheet.setFormatter(3, 1, "0.00");
sheet.setFormula(3, 1, "PMT(B3/12,B2,B1)"); // 상환액
GC.Spread.Sheets.CalcEngine.goalSeek(sheet, 2, 1, sheet, 3, 1, -600); // B3 셀의 결과는 10%입니다.