M

table excel download 본문

JavaScript

table excel download

M_master 2022. 2. 23. 11:47

.xls - 2003이하의 버전

.xlsx - 2007이상 버전

 

추가 라이브러리

git URL : https://github.com/SheetJS/sheetjs

파일 : /dist/xlsx.full.min.js

 

git URL : https://github.com/eligrey/FileSaver.js

파일 : /dist/FileSaver.min.js

 

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;
}

/**
 * tableId 테이블 ex) excel-file.xlsx
 * fileName 파일명
 * sheetName 시트명
 */
function excelDownload(tableId, fileName, sheetName)
{
	// workbook 생성
    var wb = XLSX.utils.book_new();
	
    tableId = document.getElementById(tableId);
		
    // 시트 생성
    var newWorkSheet = XLSX.utils.table_to_sheet(tableId);
	
    // workbook에 새로만든 워크시트에 이름을 주고 연결
    XLSX.utils.book_append_sheet(wb, newWorkSheet, sheetName);
		
    // 엑셀 파일 생성
    var wbout = XLSX.write(wb, {bookType: "xlsx", type: "binary"});
		
    // 엑셀 파일 내보내기
    saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), fileName);
}
728x90

'JavaScript' 카테고리의 다른 글

reduce()  (0) 2022.05.11
Promise  (0) 2022.02.24
(jQuery) serializeObject  (0) 2022.02.23
화면 프린트 기능  (0) 2022.02.18
배열 관련 함수  (0) 2019.10.04