[]
        
(Showing Draft Content)

셀 범위

SpreadJS는 시트 영역에서 셀 범위에 손쉽게 접근할 수 있는 방법을 제공합니다. getRange 메서드를 사용하면 시트에서 범위 정보를 편리하게 가져올 수 있습니다.

해당 메서드는 사용자가 요구 사항에 따라 행 및 열 인덱스를 통해 또는 범위 주소를 통해 시트 영역의 범위 정보를 가져올 수 있도록 지원하며, 아래의 두 섹션에서 각각 설명하겠습니다.

행 및 열 인덱스로 범위 가져오기

getRange(row, col, rowCount, colCount, sheetArea) 메서드를 사용하면 시트 영역에서 특정 셀 범위를 가져올 수 있습니다. 이 메서드는 행 인덱스, 열 인덱스, 범위의 행 수, 열 수 등의 매개변수를 사용합니다. 이러한 방식으로 지정된 시트 영역에서 행 및 열 인덱스를 기준으로 셀 범위를 가져올 수 있습니다.

아래 이미지는 행 및 열 인덱스를 통해 셀 범위를 가져오는 예사를 보여줍니다.



다음 코드 스니펫은 getRange 메서드에 행 및 열 인덱스를 사용하여 B2:F6 범위를 지정하는 방법을 보여줍니다.

Ask ChatGPT

$(document).ready(function () {
    // Spread 초기화
    var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'), { sheetCount: 1 });
    // 활성화 시트 가져오기
    var sheet = spread.getActiveSheet();

    // 열과 행 정보를 범위 가져오기
    var range = sheet.getRange(1, 1, 5, 5, GC.Spread.Sheets.SheetArea.viewport);
    range.text("Text");
});

범위 주소로 범위 가져오기

시트 영역에서 셀 범위를 가져오는 또 다른 방법은 getRange(address, sheetArea) 메서드를 사용하는 것입니다. 해당 메서드는 범위 주소 문자열을 사용하여 지정된 시트 영역의 셀 범위를 가져옵니다.

아래 이미지는 범위 주소를 통해 셀 범위를 가져오는 예시를 보여줍니다.



다음 코드 스니펫은 getRange 메서드에 범위 주소 문자열을 사용하여 A1:E5 범위를 지정하는 방법을 보여줍니다.

$(document).ready(function () {
    // Spread 초기화
    var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'), { sheetCount: 1 });
    // 활성화 시트 가져오기
    var sheet = spread.getActiveSheet();

    // 범위 주소로 범위 가져오기
    var range = sheet.getRange('A1:E5', GC.Spread.Sheets.SheetArea.viewport);
    range.text("Text");
});

데이터 유형에 따른 범위 가져오기

시트에 있는 데이터의 유형을 기준으로 셀 범위를 가져오려면 getUsedRange 메서드를 사용할 수 있습니다. 해당 메서드는 UsedRangeType 열거형 옵션을 매개변수로 사용하여 다양한 데이터 유형의 최대 범위를 빠르게 가져옵니다.

이 기능은 스파크라인, 차트, 슬라이서, 태그 등 다양한 형태의 데이터와 작업할 때 워크시트 전반에 걸쳐 필요한 데이터 범위를 신속하게 가져오는 데 유용합니다.

다음 코드는 셀 태그(cell tag)가 적용된 셀 범위를 가져오는 방법을 보여줍니다.

function getRangeStyle() {
    var sheet = spread.getSheet(0);
    var styleRange = sheet.getUsedRange(GC.Spread.Sheets.UsedRangeType.style);
    //  styleRange:{row: 2, col: 2, rowCount: 3, colCount: 3}

    sheet.setSelection(styleRange.row, styleRange.col, styleRange.rowCount, styleRange.colCount, GC.Spread.Sheets.SheetArea.viewport, GC.Spread.Sheets.StorageType.style);
}

function getRangeTag() {
 var sheet = spread.getSheet(0);
 sheet.setTag(2, 2, "value");
 sheet.setTag(4, 2, new Date());
 sheet.setTag(6, 8, { Product: 'SpreadJS', Price: 99999 });

 var usedRangeTag = sheet.getUsedRange(GC.Spread.Sheets.UsedRangeType.tag);
 console.log(usedRangeTag); // usedRangeTag:{row: 2, rowCount: 5, col: 2, colCount: 7}
}