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