# 셀 복사

셀 하나의 표시 텍스트를 시스템 클립보드로 복사합니다. 셀 안 편집기의 텍스트를 선택한 상태와 Grid 셀에 포커스가 있는 상태는 서로 다른 복사 대상입니다.

Canonical: https://grid.syidax.com/ko/docs/features/single-cell-copy/

<a id="understand"></a>

## 동작 원리와 선택 기준

클립보드 접근은 브라우저 환경과 사용자 동작 조건의 영향을 받습니다. 버튼 클릭이나 키보드 입력에서 복사를 요청하고 반환값을 확인하세요.

코드의 grid는 설치와 연결 장에서 준비한 Grid 요소입니다. 예제마다 필요한 데이터·설정을 확인하고, 코드에서 소개하는 앱 함수와 서버 주소는 프로젝트에 맞게 구현하세요.

- [설치와 연결 · 공통 예제 데이터](https://grid.syidax.com/ko/docs/guides/getting-started.md)

<a id="example-1"></a>

## 예제 1. 첫 표시 제품 복사

사용자의 복사 버튼 클릭에 아래 호출을 연결합니다.

```javascript
const copied = await grid.copyCellAt(0, 'product');
console.log(copied);
```

결과 확인: true면 복사 처리 성공입니다. 표가 정렬되었다면 현재 첫 번째 표시 행의 제품이 대상입니다.

<a id="example-2"></a>

## 예제 2. 계산·포맷된 셀 복사

금액에 통화 표시를 적용한 뒤 복사한 텍스트를 확인합니다. 복사값과 원본 숫자가 같아야 한다고 가정하지 않습니다.

결과 확인: 대상 입력창에 붙여 넣었을 때 의도한 표현인지 검토합니다. 기계 처리용 숫자는 원본 데이터 API로 읽는 편이 적합할 수 있습니다.

<a id="example-3"></a>

## 예제 3. 권한과 실패 처리

읽기 제한 셀과 일반 셀을 각각 복사해 보고 거절된 동작에 적절한 안내를 표시합니다.

```javascript
grid.clipboardEscapeFormulae = true;
```

결과 확인: 스프레드시트가 수식으로 해석할 수 있는 문자열의 보호 설정도 함께 검토합니다. 실제 업무 값의 뜻을 바꾸는 처리와 구분하세요.

<a id="pitfalls"></a>

## 조합할 때와 문제를 해결할 때

비동기 타이머에서 사용자의 동작과 무관하게 복사를 요청하면 브라우저가 거절할 수 있습니다. 클립보드 권한 오류를 Grid 데이터 오류로 표시하지 마세요.

원본 값을 가렸다면 툴팁·복사·내보내기도 같은 접근 정책을 따라야 합니다. 화면 글자만 지우는 방식은 충분하지 않습니다.

<a id="related-api"></a>

## 이 기능에 사용하는 API

- [clipboardEscapeFormulae](https://grid.syidax.com/ko/docs/options/clipboardEscapeFormulae.md) — 클립보드로 나가는 텍스트의 스프레드시트 수식 접두사를 이스케이프합니다.
- [copyCellAt](https://grid.syidax.com/ko/docs/methods/copyCellAt.md) — 지정한 표시 행과 필드의 값을 복사하고 성공 여부를 반환합니다.

<a id="next"></a>

## 함께 읽기

- [행·열·ID의 관계](https://grid.syidax.com/ko/docs/guides/concepts.md)
- [결과와 이벤트 연결](https://grid.syidax.com/ko/docs/guides/data-event-access.md)
- [Features에서 살펴보기](https://grid.syidax.com/grid/single-cell-copy) — 직접 체험 가능한 범위는 해당 가이드에 안내되어 있습니다.
