# CSV 내보내기

CSV 내보내기는 표 데이터를 다른 도구로 넘기기 쉬운 텍스트 파일로 만듭니다. 셀 색·열 너비·상세 패널 같은 화면 모양을 보존하는 형식은 아닙니다.

Canonical: https://grid.syidax.com/ko/docs/features/csv-export/

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

## 동작 원리와 선택 기준

다운로드는 exportDataAsCsv, 문자열을 앱에서 처리하려면 getDataAsCsv를 사용합니다. 후자는 문자열 자체가 아니라 csv와 행·열 수가 담긴 결과 객체를 반환합니다.

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

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

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

## 예제 1. 파일 내려받기

브라우저의 사용자 버튼 동작에서 호출합니다.

```javascript
const result = await grid.exportDataAsCsv({ fileName: 'orders.csv' });
console.log(result.rowCount, result.columnCount);
```

결과 확인: CSV 다운로드가 시작되고 실제 출력 행·열 수를 확인할 수 있습니다.

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

## 예제 2. 문자열 미리보기

다운로드 대신 앱의 미리보기나 승인 단계에 사용합니다.

```javascript
const result = await grid.getDataAsCsv();
console.log(result.csv);
```

결과 확인: 생성된 CSV 텍스트를 얻습니다. 결과 객체 전체를 문자열로 바꾸면 CSV 파일이 되지 않습니다.

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

## 예제 3. 출력 범위 검토

필터·숨긴 열·선택 행을 함께 사용하는 보고서는 CsvExportOptions에서 원하는 범위를 명시하고 소량의 알려진 데이터로 행 수와 내용을 대조합니다.

결과 확인: 서버의 미로드 행까지 자동으로 포함한다고 가정하지 않습니다. 서버 전체 내보내기는 같은 조회 조건을 사용하는 서버 작업으로 별도 구현합니다.

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

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

사용자 입력이 = 같은 스프레드시트 수식 문자로 시작하는 경우 출력 보호 정책을 확인하세요. 화면의 렌더러 모양이 그대로 CSV에 담기는 것은 아닙니다.

다운로드 권한·민감한 열의 읽기 정책과 실제 파일 내용을 함께 확인합니다.

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

## 이 기능에 사용하는 API

- [getDataAsCsv](https://grid.syidax.com/ko/docs/methods/getDataAsCsv.md) — CSV 문자열과 출력 행·열 수가 담긴 객체를 반환합니다. 문자열은 결과의 csv 필드에서 읽습니다.
- [exportDataAsCsv](https://grid.syidax.com/ko/docs/methods/exportDataAsCsv.md) — 현재 출력 조건으로 CSV를 다운로드하고 출력 결과를 반환합니다.

<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/csv-export) — 직접 체험 가능한 범위는 해당 가이드에 안내되어 있습니다.
