728x90
▶ SheetJS 라이브러리
<!-- Sheet JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.14.3/xlsx.full.min.js"></script>
<!--FileSaver savaAs 이용 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.8/FileSaver.min.js"></script>
[xlsx.full.min.js 다운로드 이용]
https://www.cdnpkg.com/xlsx/file/xlsx.full.min.js/?id=78603
XLSX.FULL.MIN.JS: DOWNLOAD - CDNPKG
xlsx.full.min.js is available in 105 versions of xlsx. 0.15.6 0.15.5 0.15.4 0.15.1 0.15.0 0.14.5 0.14.4 0.14.3 0.14.2 0.14.1 0.14.0 0.13.5 0.13.4 0.13.3 0.13.2 0.13.1 0.13.0 0.12.13 0.12.12 0.12.11 0.12.10 0.12.9 0.12.8 0.12.7 0.12.6 0.12.5 0.12.4 0.12.3 0
www.cdnpkg.com
[FileSaver.js 다운로드 이용]
https://www.cdnpkg.com/FileSaver.js/file/FileSaver.min.js/#
FILESAVER.MIN.JS: DOWNLOAD - CDNPKG
FileSaver.min.js is available in 9 versions of FileSaver.js. 1.3.8 1.3.3 1.3.2 1.3.1 1.3.0 1.2.2 1.2.1 1.2.0 1.0.0
www.cdnpkg.com
▶ 예제 소스
function exportExcel(){
// 1. workbook 생성
var wb = XLSX.utils.book_new();
// 2. 시트 만들기
var newWorksheet = excelHandler.getWorksheet();
// 3. workbook에 새로만든 워크시트에 이름을 주고 붙인다.
XLSX.utils.book_append_sheet(wb, newWorksheet, excelHandler.getSheetName());
// 4. 엑셀 파일 만들기
var wbout = XLSX.write(wb, {bookType:'xlsx', type: 'binary'});
// 5. 엑셀 파일 내보내기
saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), excelHandler.getExcelFileName());
}
var excelHandler = {
getExcelFileName : function(){
return $("#anpTrnNo").val() + '_수강자목록.xlsx'; // 엑셀 파일명
},
getSheetName : function(){
return $("#anpTrnNo").val() + '_수강자목록'; // 엑셀 시트명
},
getExcelData : function(){
return document.getElementById('tbl_trnTrneInfrList'); // 테이블 id
},
getWorksheet : function(){
return XLSX.utils.table_to_sheet(this.getExcelData());
}
}
function s2ab(s) {
var buf = new ArrayBuffer(s.length); //convert s to arrayBuffer
var view = new Uint8Array(buf); //create uint8array as viewer
for (var i=0; i<s.length; i++) view[i] = s.charCodeAt(i) & 0xFF; //convert to octet
return buf;
}
LIST
'Develop' 카테고리의 다른 글
[Mybatis] PK 를 count 혹은 max 쿼리로 생성 후 리턴받기 (18) | 2024.09.03 |
---|---|
[Mybatis] 반복되는 같은 쿼리 sql 로 정의해서 include 해서 변수처럼 사용하기 (3) | 2024.09.03 |
[타임리프] javascript 에서 타임리프 변수 사용하기 (0) | 2024.08.28 |
javascript 함수 return false 로 종료가 되지 않고 계속 진행될때 (2) | 2024.08.12 |
타임리프 Thymeleaf 체크박스 배열값 checked 방법 (0) | 2024.08.08 |