[]
        
(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 열거형 옵션을 매개변수로 사용하여 다양한 데이터 유형의 최대 범위를 빠르게 가져옵니다.

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

아래 표는 UsedRangeType 열거형의 다양한 멤버와 그 설명을 나타냅니다.

멤버 이름

설명

all

데이터, 수식, 태그, 스타일, 스파크라인, 차트 등 사용된 범위의 모든 유형의 내용을 포함합니다.

axis

차트에서 축으로 참조되는 셀을 포함합니다.

chart

차트 시리즈를 그리는 데 사용되는 데이터 범위를 포함합니다.

colstyle

데이터가 없어도 특정 스타일이 적용된 열을 포함합니다.

comment

메모가 포함된 셀을 포함합니다.

conditionFormat

조건부 서식 규칙이 적용된 셀을 포함합니다.

data

텍스트, 숫자 또는 날짜와 같은 데이터를 포함한 셀을 포함합니다.

dataRange

테이블이나 차트의 데이터 소스로 사용되는 범위를 포함합니다.

dataValidation

데이터 유효성 검사 규칙이 적용된 셀을 포함합니다.

filter

필터 작업에 관련된 셀을 포함하며, 예를 들어 필터가 적용된 테이블의 헤더 행을 포함합니다.

formula

수식을 포함한 셀을 포함합니다.

picture

시트에 추가된 이미지 또는 그림과 관련된 셀을 포함합니다.

pivottable

피벗 테이블과 관련된 셀을 포함하며, 데이터 소스와 계산 필드도 포함됩니다.

rowStyle

특정 스타일이 적용된 행을 포함합니다.

shape

도형 또는 그림이 포함된 셀을 포함합니다.

slicer

테이블 또는 피벗 테이블에 연결된 슬라이서와 관련된 셀을 포함합니다.

span

병합된 범위에 포함된 셀을 포함합니다.

sparkLine

스파크라인이 포함된 셀을 포함합니다.

style

특정 스타일이 적용된 셀을 포함합니다.

table

테이블의 일부인 셀을 포함합니다.

tag

연결된 태그가 있는 셀을 포함합니다.

다음 코드는 셀 태그(cell tag)가 적용된 셀 범위를 가져오는 방법을 보여줍니다. 하지만 위에서 설명한 UsedRangeType 열거형의 멤버 중 어떤 것이든 필요에 따라 셀 범위를 가져오는 데 사용할 수 있습니다.

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}
}