# exportData (method)

> 시트의 내용을 엑셀 파일로 다운로드 합니다.
> 해당 함수를 사용하시려면 `jszip` 라이브러리가 반드시 필요합니다.
> 기본적으로 `jszip` 라이브러리가 있는 경우, 그것을 그대로 사용하게 되고 `jszip` 라이브러리가 없는 경우, `plugins/jszip.min.js` 라이브러리를 가져와 사용합니다.
> down2Excel 과 동일한 기능(서버에서 처리하는 기능을 제외하고)을 제공합니다. (`xlsx 기준`)
> 지원 하는 파일 형식은 xlsx, txt, csv 입니다.
> 해당 함수는 down2Text 에서 사용되는 기능 또한 제공됩니다. (`colDelim, rowDelim, downSum`)

### Syntax

    void exportData( param );

### Parameters

Name | Type | Required | Description
--- | --- | --- | ---
fileName | `string` | 선택 | 생성할 엑셀파일 명 (`default: Excel.xlsx`) 이 속성에서 파일명과 함께 확장자를 xlsx, txt, csv로 붙이느냐에 따라서 생성 파일이 xlsx형식, (txt, csv)형식으로 만들어집니다.
sheetName | `string` | 선택 | 만들어지는 엑셀 파일의 WorkSheet에 부여할 이름 `(xlsx에서만 지원)`
downRows | `string` | 선택 | 지정한 행만 다운로드 합니다. 별도의 설정이 없을시 모든 행이 다운로드 됩니다. 보여지는 행만 다운로드하고 싶을 경우 `"Visible"`로 설정하면 됩니다. (ex: "1|3|4|5|9" 식의 문자열) `downRows`를 사용하면 머지 기능이 동작하지 않습니다.
downCols | `string` | 선택 | 지정한 열만 다운로드 합니다. 별도의 설정이 없을시 모든 열이 다운로드 됩니다. 보여지는 열만 다운로드하고 싶을 경우 `"Visible"`로 설정하면 됩니다. (ex: "Price|AMT|TOTAL" 식의 문자열)
downTreeHide | `boolean` | 선택 | tree를 사용하는 경우, 접혀진 행도 엑셀에 다운로드 할지 여부를 설정합니다. `1(true)`로 설정시 접혀있는 자식노드도 모두 다운로드 됩니다.(`default: 0(false)`)
downHeader | `boolean` | 선택 | 헤더행을 다운로드 할지 여부를 설정합니다.(`default: 1(true)`)
sheetDesign | `number` | 선택 | `0`: 셀 외곽선을 제외한 모든 디자인 적용 안함. `1`: 시트의 디자인 요소를 엑셀에도 반영할지 여부를 설정합니다.(`default`) 반영되는 디자인 요소는 다음과 같습니다. 헤더의 배경색,폰트명,폰트크기,데이터 배경색 `2`: 셀 외곽선을 제외한 셀 스타일을 적용. `3`: 셀 외곽선 및 스타일을 모두 적용 안함. `(xlsx에서만 지원)`
titleText | `string` | 선택 | 엑셀 문서의 상단에 원하는 문자를 추가합니다. 문자는 열구분자("|")와 행구분자(`"\r\n"`)을 통해서 작성하실수 있습니다. 가령 "A|B|C\r\nD|E|F" 와 같이 입력한 경우 첫 행에 3개의 셀에 각각 A, B, C 값이 들어가고 두번째 행의 3개의 셀에 각각 D, E, F 값이 입력됩니다. 값 안에서 엔터를 포함하려면 `"\r"` 이나 `"\n"` 을 삽입하면 됩니다. `"\r\n"` 이 10개가 포함되면 11줄을 차지하게 되고 12번째 행부터 시트 내용이 출력됩니다. `(xlsx에서만 지원)`
userMerge | `string` | 선택 | `titleText`와 같이 사용하며, titleText를 원하는 모양으로 머지합니다. 입력방법은 4개의 숫자로 `"머지시작셀 row index, 머지시작셀 col index, 아래로 병합할 행 개수(1을 설정하면 병합 없음), 우측으로 병합할 개수"` 로 이루어 집니다. (여러개 병합시에는 띄어쓰기로 구분) 가령 `"2,2,1,6 3,2,3,3"`위와 같이 설정하였다면 2,2 셀부터 오른쪽으로 6칸이 병합되고, 3,2 셀부터 아래로 3칸, 오른쪽으로 3칸이 병합 됩니다. `(xlsx에서만 지원)`
excelRowHeight | `number` | 선택 | 엑셀 문서의 행 높이를 설정합니다. `(xlsx에서만 지원)`
excelHeaderRowHeight | `number` | 선택 | 엑셀의 헤더행의 높이를 설정합니다. `(xlsx에서만 지원)`
wordWrap | `boolean` | 선택 | 엑셀 문서의 "텍스트 줄바꿈" 여부를 설정합니다.(`default:1(true)`) `(xlsx에서만 지원)`
comboValidation | `boolean` | 선택 | Enum 타입으로 만들어진 열에 대해 엑셀에서도 데이터 기능을 통해 드롭다운리스트 형태로 표현합니다. `(xlsx에서만 지원)`
rowDelim | `string` | 선택 | text파일을 만들때 행 구분자(기본은 줄넘김 문자 `"\r\n"`) `(txt, csv)에서만 지원`
colDelim | `string` | 선택 | txt 다운로드 일 경우(`default: \t(탭문자)`, csv 다운로드 일 경우(`default: ,(콤마)` 업로드되는 파일에 따라 기본 구분자가 변경됩니다. `(txt, csv)에서만 지원`
merge | `number` | 선택 | 시트의 머지 상태를 엑셀에 그대로 반영할지를 설정합니다. `0`: 사용 안 함 (`default`) `1`: 사용함 (셀 병합 시, 부속 셀의 값을 원본으로 유지함) `2`: 사용함 (셀 병합 시, 부속 셀의 값을 비움) (xlsx에서만 지원)
allTypeToText | `boolean` | 선택 | 시트의 `Int`, `Float` 타입을 제외한 모든 컬럼을 `Text` 타입으로 받고자 하는 경우 설정합니다.(`default: 0(false)`) (xlsx에서만 지원)
checkBoxOnValue | `string` | 선택 | 체크박스와 라디오 박스에서 체크를 한 경우 `1`값 대신 지정한 값을 사용합니다. (xlsx에서만 지원)
checkBoxOffValue | `string` | 선택 | 체크박스와 라디오 박스에서 체크 해제를 한 경우 `0`값 대신 지정한 값을 사용합니다. (xlsx에서만 지원)
downSum | `boolean` | 선택 | 합계 행 다운로드 여부를 설정합니다.(`default: 1(true)`)
excelFontSize | `number` | 선택 | 엑셀의 폰트 크기를 설정합니다. (xlsx에서만 지원)
excludeFooterRow | `boolean` | 선택 | 푸터 행 제외 여부를 설정합니다.(`default: 0(false)`) (xlsx에서만 지원)
numberTypeToText | `boolean` | 선택 | `Int`, `Float` 타입의 컬럼을 `Text` 타입으로 다운로드 받을지 여부를 설정합니다.(`default: 0(false)`) (xlsx에서만 지원)

### Return Value

none

### Example

    // xlsx 확장자로 다운로드, 보여지는 행만 다운로드.
    sheet.exportData({fileName: "재고리스트.xlsx",downRows: "Visible"});

    // txt 확장자로 다운로드, 열 구분자 ',' 로 변경.
    var param = {fileName: "exportTEXT.txt", colDelim: ","};
    sheet.exportData(param);

    // csv 확장자로 다운로드, 합계행 다운받지 않음.
    var param = {fileName: "exportCSV.csv", downSum: 0}
    sheet.exportData(param);

### Read More

- AutoExcelMode cfg
- LevelMark cfg
- down2Excel method
- down2Text method
- onBeforeExport event
- onExportFinish event

### Since

product | version | desc
--- | --- | ---
core | 8.0.0.0 | 기능 추가
core | 8.0.0.6 | `fileName, sheetName, downRows, downCols, downRows, downTreeHide, downHeader, sheetDesign, titleText, userMerge, excelRowHeight, excelHeaderRowHeight, wordWrap, comboValidation, rowDelim, colDelim, downSum`
core | 8.0.0.20 | 파일 형식 내용 추가
core | 8.0.0.21 | `merge, allTypeToText, checkBoxOnValue, checkBoxOffValue, excelFontSize, excludeFooterRow, numberTypeToText` (xlsx 에서만 지원)