SMART datagrid v1.4 > Examples

[ grids ver.1.3.5]   Back  Forward

Async Excel Exporting  Example

대량의 그리드 데이터를 엑셀로 변환하는 작업은 시스템 성능에 따라 긴 시간이 필요할 수 있다. Javascript UI는 단일 쓰레드에서 실행되므로, 엑셀 생성 작업이 오래 걸릴 경우 UI가 멈추게 된다. 

SMART datagrid는 이런 문제에 대응할 수 있도록 비동기 스타일로 엑셀 내보내기 작업을 실행할 수 있게 한다. GridExportOptions.asynctrue(기본값)로 지정되면 엑셀 변환 작업이 작은 단위 작업들로 분리돼서 실행되고, 각 실행 지점마다 지정된 콜백을 호출해서 진행바와 같은 백그라운드 UI 작업을 실행할 수 있다. 

또, showProgresstrue(기본값)이면 비동기로 실행할 때, 자동적으로 Progress Bar가 표시되고, cancelabletrue면 "Cancel" 버튼이 표시된다. "Cancel" 버튼을 클릭하면 내보내기가 중지된다. modal은 진행바를 표시하는 동안 사용자가 그리드에 접근할 수 있는 지 여부를 지정한다. true로 지정하면 반투명의 마스크가 그리드에 덮어지고 사용자가 그리드를 클릭할 수 없게 된다. 

Grid - 1
rows

5000 행씩 추가합니다. 

엑셀 내보내기 작업은 크게 그리드 데이터를 엑셀 시트로 생성하는 작업과, 생성된 엑셀 문서를 zip 파일로 압축하는 것을 구분할 수 있다. 엑셀 시트를 생성하는 작업은 데이터루디 모듈에서 구현됐지만, 압축은 JSZip 을 활용하고 있다. 엑설 시트 생성과 유사하게 비동기 모드에서 압축 단계별 이벤트가 필요한 경우 JSZip 3 이상의 버전을 사용해야 한다. 

비동기 zip 예제를 참조한다. 

소스보기 JSP 

See Also
GridExportOptions.async
GridExportOptions.showProgress
GridExportOptions.title
GridExportOptions.onStart
GridExportOptions.onFinished
GridExportOptions.onProgress
Examples
Excel Exporting
동적 스타일 내보내기
Progress Bar