프로그램/jquery

현재 화면에 보이는 <table>태그를 엑셀(excel)로 출력하기

킹콩맨 2014. 12. 1. 18:01
반응형

// 원리 : 현재 테이블복제 -> form에 담기 -> 동적 iframe생성 -> iframe Submit() -> 출력

function getExcelFile(fileName){

var html = $('#테이블 아이디').clone();

var obj = html.find('input').remove();

var html_code = html.html();

 

$('body').after("<form id='excelForm' action='excelPrint.php' target='excelWindow' method='post'><textarea id='excelTable' name='excelTable' style='display:none;'>"+html_code+"</textarea><input type='text' name='fileName' value='"+fileName+"'></form>");

 

$('body').after("<iframe src='' name='excelWindow' width='100%' height='100%' style='display:none;'></iframe>");

$('#excelForm')[0].submit();

}

 

출력구문 페이지(excelPrint.php) ->

<?

extract($_POST);

 

define('fileName',$fileName);

 

header( "Content-type: application/vnd.ms-excel; charset=EUC-KR");

header( "Content-Disposition: attachment; filename = ".fileName.date('Y-m-d_His').".xls" );

header( "Content-Description: PHP4 Generated Data" );

?>

<table border='1'><?=$excelTable?></table>

 

 

사용법 ->

1. 링크 : <a href="javascript:getExcelFile('파일명')">내용</a>

2. 이벤트 onclick="getExcelFile('파일명')"

반응형