본문 바로가기

자바스크립트(jquery)

Jquery 엑셀다운로드

반응형
function fnExcelReport(id, title) 
{
	var tab_text = '<html xmlns:x="urn:schemas-microsoft-com:office:excel">';
	tab_text = tab_text + '<head><meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8">';
	tab_text = tab_text + '<xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>'
	tab_text = tab_text + '<x:Name>Test Sheet</x:Name>';
	tab_text = tab_text + '<x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet>';
	tab_text = tab_text + '</x:ExcelWorksheets></x:ExcelWorkbook></xml></head><body>';
	tab_text = tab_text + "<table border='1px'>";
	var exportTable = $('#' + id).clone();
	exportTable.find('input').each(function (index, elem) {
		 $(elem).remove(); 
	});
	tab_text = tab_text + exportTable.html();
	tab_text = tab_text + '</table></body></html>';
	var data_type = 'data:application/vnd.ms-excel';
	var ua = window.navigator.userAgent;
	var msie = ua.indexOf("MSIE ");
	var fileName = title + '.xls';
	//Explorer 환경에서 다운로드
	if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) 
	{
		if (window.navigator.msSaveBlob) 
		{
			var blob = new Blob([tab_text], {
			type: "application/csv;charset=utf-8;"
			});
			navigator.msSaveBlob(blob, fileName);
		}
	} 
	else 
	{
		var blob2 = new Blob([tab_text], {
			type: "application/csv;charset=utf-8;"
		});
		var filename = fileName;
		var elem = window.document.createElement('a');
		elem.href = window.URL.createObjectURL(blob2);
		elem.download = filename;
		document.body.appendChild(elem);
		elem.click();
		document.body.removeChild(elem);
	}
}

 

웹상에 표현된 테이블을 엑셀로 만드는 함수이다

id 는 다운로드할 테이블 id

title 은 다운로드되는 엑셀명이다.

반응형

'자바스크립트(jquery)' 카테고리의 다른 글

javascript var? let? const?  (0) 2024.03.21
javascript로 만든 jquery empty  (0) 2024.03.21
window/document , on/ready  (0) 2024.03.21
javascript 동적 변수명 선언  (0) 2024.03.21
javascript sleep 함수  (0) 2024.03.21