그리드 - Tabulator 엑셀 형식으로 다운로드하기
2023. 11. 3. 01:54ㆍJavascript
Tabulator 에서 현재 그리드의 데이터를 XLSX 형식으로 다운로드하는 API 는 다음과 같다.
let tableObj = new Tabulator(...);
function downloadXLS() {
tableObj.download("xlsx", "파일명.xlsx");
}
기본 설정에서 Tabulator 에서는 통데이터를 그대로 출력해버리기 때문에 레코드가 1000 개를 넘어가면 다운로드 시간도 지연되며 더욱이 그많은 데이터를 다 받아야 하나 싶을 정도로 부담스러워진다.
다행히 이것을 해결하는 방법 중의 하나로 범위를 지정해서 다운로드할 수 있다. 현재 검색으로 찾아낸 방법인데 현재 선택된 행만 다운로드하는 것이다. 그런데 여기서 또 한 가지 문제점이 존재한다. selected 를 써서 현재 선택된 행만 다운로드하도록 하는 게 가능하지만 tabulator.selectRow() 를 실행하면 현재 페이지 뿐만 아니라 tabulator 인스턴스가 담고 있는 전체 행을 선택해버리는 상황이 벌어진다. 이걸 해결할 수 있는 좋은 방도가 있다면 댓글로 달아주길 바란다. 더 나은 방법이 있다면 말이다!
// 우선 Tabulator 인스턴스를 생성할 때 설정에
// selectable, downloadRowRange 를 추가해야 한다.
let tableObj = new Tabulator('#myListTbl', {
selectable: true,
downloadRowRange: 'selected',
.
.
.
});
function downloadXLS() {
tableObj.download("xlsx", "파일명.xlsx");
}
참고 :
https://tabulator.info/docs/5.5/download#xlsx
'Javascript' 카테고리의 다른 글
[JQuery] selector 한꺼번에 지정하기 (0) | 2023.11.20 |
---|---|
JS 에서 소수점 반올림 처리하기 (0) | 2023.11.20 |
$(document).on('change', <select>, function() {...} (0) | 2023.09.24 |
주 번호로 해당 주의 시작일 ~ 종료일 범위 구하기 (0) | 2023.09.17 |
[자바스크립트, HTML] 이미지 파일 미리보기 (0) | 2023.05.06 |