[]
스프레드시트에서는 pasteSkipInvisibleRange 속성을 사용하여 데이터를 숨겨진 범위에 붙여넣을지 여부를 선택할 수 있습니다. 기본적으로는 숨겨진 셀, 행, 열에도 데이터가 붙여넣기 됩니다.
그러나 pasteSkipInvisibleRange 속성을 true
로 설정하면, 숨겨진 범위에는 붙여넣기를 생략하고, 대신 범위 내의 다음 보이는 셀에 데이터가 붙여넣어지도록 설정할 수 있습니다.
|
|
---|---|
SpreadJS에서는 다음과 같은 조건에 해당하는 셀, 행, 열을 보이지 않는(Invisible) 것으로 간주합니다:
필터링된 행 또는 열
그룹으로 묶여 접힌 행 또는 열
ColumnWidth 또는 RowHeight 가 0으로 설정된 행 또는 열
숨겨진(Hidden) 행 또는 열
다음 표는 pasteSkipInvisibleRange 속성이 지원되는 기능들과 해당 동작 방식을 나타냅니다.
복사된 객체 | 복사 이전 상태 | pasteSkipInvisibleRange = True | pasteSkipInvisibleRange = False |
---|---|---|---|
Value | 셀에 속함 | 대상 셀이 보이지 않으면, 다음의 보이는 유효한 행/열에 붙여넣음 범위가 여전히 보이지 않으면, 복사된 범위와 동일한 효과 복사 범위가 유효하지 않으면 붙여넣지 않음 붙여넣기 대상의 보이는 행/열 수가 복사된 범위보다 작으면 전체 붙여넣기가 되지 않음 | 셀이 보이지 않으면 보이지 않은 상태로 유지되며, 셀이 보이게 되면 값이 표시됨 범위가 보이게 되면 복사된 범위와 동일한 효과 |
Formula && SparklineEx | 셀과 연결됨 | 대상 셀이 보이지 않으면 다음의 보이는 유효한 셀에 붙여넣음 수식 참조는 보이지 않는 범위도 포함하므로, 결과가 이전과 다를 수 있음 DynamicArray 및 ArrayFormula 붙여넣기에는 지원되지 않음 (붙여넣으면 아무 것도 복사되지 않음) | 값 붙여넣기와 동일 |
Style (CellStyle, CellButton, formatter, CellType) | 셀에 속함 | 대상 셀이 보이지 않으면 다음의 보이는 유효한 셀에 붙여넣음 범위가 여전히 보이지 않으면 복사된 범위와 동일한 효과 | 값 붙여넣기와 동일 |
DragMove | 범위 선택 | 이동 사각형이 보이지 않는 범위를 고려하며, 범위가 확장됨 | 보이지 않는 범위를 포함하여 이동함 |
Shift Copied Cells | 범위 복사 또는 잘라내기 | 아래/오른쪽으로 이동 시 보이지 않는 범위를 건너뛰며 이동 | 보이지 않는 범위를 포함하여 이동 |
CustomName | 셀 또는 범위 참조 | 참조 타입이 셀이면 보이지 않는 범위를 건너뛰며 새로운 셀 참조로 변경됨 | 참조 타입이 범위이면 보이지 않는 범위를 포함하여 참조 |
Comment | 셀에 속함 | 값 붙여넣기와 동일 | 값 붙여넣기와 동일 |
Tag | 셀에 속함 | 값 붙여넣기와 동일 | 값 붙여넣기와 동일 |
Hyperlink | 셀에 속함 | 값 붙여넣기와 동일 | 값 붙여넣기와 동일 |
BindingPath | 셀에 속함 | 값 붙여넣기와 동일 | 값 붙여넣기와 동일 |
Header | 셀에 속함 | 대상 행/열이 보이지 않으면, 헤더 영역 내에서 다음 보이는 유효한 행/열에 붙여넣음 복사된 행/열 수보다 붙여넣는 보이는 행/열 수가 작으면 일부만 붙여넣음 | 변경된 값만 복사/붙여넣기 수행 |
CellStates | 셀에 속함 | 셀 값만 복사하며, 상태 정보는 복사하지 않음 | 셀 값만 복사하며, 상태 정보는 복사하지 않음 |
Sparkline | 셀에 속함 | 데이터 범위 참조는 수식과 동일 스파크라인 영역은 붙여넣은 값과 동일함 | 값 붙여넣기와 동일 스파크라인의 데이터 범위가 보이지 않으면, 계산 시 보이지 않는 범위는 무시됨 |
DataValidation | 범위 기준으로 저장 | 대상 셀이 보이지 않으면 다음의 보이는 유효한 셀에 붙여넣음 복사된 DataValidation 범위 붙여넣기 시 여러 셀로 저장됨 셀 숨김 상태에서는 숨겨진 상태로 유지되며, 셀이 보이면 표시됨 | 값 붙여넣기와 동일 |
ConditionalFormat | 범위 기준으로 저장 | 대상 셀이 보이지 않으면 다음 보이는 유효한 셀에 붙여넣음 a) 범위를 복사해 붙여넣으면 보이지 않는 범위를 건너뛰며 두 개 이상의 범위로 나뉨 b) 같은 행/열 내 여러 범위를 복사하면 [a]처럼 작게 분할됨 c) 하나의 범위를 여러 범위에 붙여넣으면 [a]처럼 분할됨 | 복사 시 여러 범위는 지원되지 않음 셀 숨김 시 숨겨진 상태로 유지되며, 셀이 보이면 값이 표시됨 a) 보이게 되면 복사된 범위와 동일하게 표시됨 b) 여러 범위를 복사하면 하나로 붙여넣지만 내부적으로는 두 범위로 저장되어 별도로 계산됨 c) 여러 범위에 붙여넣으면 각각 따로 계산되며 동일한 결과를 표시함 |
Span | 전체 범위 | 보이지 않는 범위를 건너뛰는 Span 붙여넣기는 지원되지 않음 붙여넣은 셀은 보이지 않는 범위를 건너뛰며 붙여넣음 범위가 보이면 복사된 Span과 동일 | 여전히 전체 범위로 붙여넣으며, 범위가 보이면 복사된 Span과 동일 |
Table | 전체 테이블 | 테이블 일부만 복사할 경우 값 및 스타일만 보이는 셀에 붙여넣음 전체 테이블을 포함한 범위를 복사하여 보이지 않는 범위에 붙여넣으면 테이블 확장은 되지 않고 값만 붙여넣음 테이블 오른쪽 또는 아래에 붙여넣고 자동 확장을 지원하면 보이지 않는 범위를 포함하되, 해당 범위에는 값이 없음 | 테이블 일부만 복사하면 값 및 스타일만 붙여넣음 전체 테이블을 복사하면 테이블 전체가 붙여넣어짐 범위가 보이면 복사된 범위와 동일한 효과를 가짐 |
이 예제는 보이지 않는 범위에 데이터를 붙여넣지 않도록 설정하는 방법을 보여줍니다.
workbook.options.pasteSkipInvisibleRange = true;
SpreadJS 디자이너에서 ‘설정(Settings)’ 탭을 클릭하고, ‘Spread 설정(Spread Settings)’ 그룹에서 ‘일반(General)’ 옵션을 선택하면 아래와 같이 ‘Spread 설정’ 대화 상자가 표시됩니다. 이 대화 상자에서 클립보드(Clipboard) 탭을 선택하여 보이지 않는 범위 붙여넣기 생략 허용(Allow Paste Skip Invisible Range) 옵션을 체크하거나 체크 해제하면, 스프레드시트에서 보이지 않는 범위에 데이터를 붙여넣을지 여부를 설정할 수 있습니다.