본문 바로가기

코딩도 합니다/jQuery

[제이쿼리 jQuery] dataTable 엑셀 추출 시 특정 열 제외하는 방법 / Excluding columns when exporting from dataTable to excel



안녕하세요.

디자인도 하고, 개발도 하는 '디발자 뚝딱'입니다.

 

이번 포스팅에서는 dataTable을 엑셀로 추출할 때 특정 열을 제외하고 추출하는 방법에 대해 공유하겠습니다.

자바스크립트 중 제이쿼리로 데이터테이블(dataTable)을 사용할 때,

'엑셀로 내보내기' 기능을 저는 가장 많이 사용합니다.

 

만약 dataTable 안에 엑셀 추출 기능을 어떻게 넣는지 모르겠다면,

아래의 지난 포스팅을 참고하여 추가해 주세요!

 

[제이쿼리 jQuery] dataTable 엑셀 기능 구현 / dataTable 엑셀 버튼 안 보일 때! copy, PDF, print 모두 다

안녕하세요. 디자인도 하고, 개발도 하는 '디발자 뚝딱'입니다. 이번 포스팅에서는 자바스크립트나 제이쿼리로 개발할 때 사용하는 dataTable에 엑셀 기능을 추가하는 방법에 대해 알아보겠습니다

anerim.tistory.com

 

 

 

 

  dataTable에서 특정 열 제외하고 엑셀 내보내는 방법

코드를 첨부하겠습니다.

1. dom 옵션과 buttons 옵션을 추가하여 엑셀 추출 기능을 구현해 주세요.

2. buttons 옵션 안에 exportOptions 옵션을 추가해 주세요. (주석 참고)

3. exportOptions 안에 적힌 coumns의 배열 번호는 엑셀로 내보낼 열의 번호입니다.

$('#myDataTable').DataTable({
    ajax: {
        "url": url,
        "type": "GET",
        dataType: "JSON",
        complete: function (data) {
        },
        dataSrc: function (res) {
        },
    },
    dom: 'Bfrtip',
    buttons: [{
        extend: 'excel',
        title: '엑셀 파일명',
        text: '엑셀 다운로드 버튼',
        className: 'btn btn-outline-primary excelBtn',
        // 해당 option을 추가합니다.
        exportOptions: {
            columns: [0,1,2,3,4,5]
        },
    }]
})

 

 

아래의 이미지를 봐주세요.

이미지를 보면 아시겠지만, 저는 마지막 열에 버튼을 넣어 dataTable을 만들었습니다.

그래서 버튼이 있는 열은 엑셀에서 보여줄 필요가 없기 때문에,

위 코드에서 6번을 제외한 0~5번까지의 숫자를 columns에 넣어줬습니다.

 

 

 

  추출된 엑셀의 모습

0~5번까지의 데이터만 추출이 된 것을 확인할 수 있습니다 :)

 

 

 

 

 

 

728x90