엑셀 다운로드 header 방식

2015. 8. 26. 17:20Programming/PHP

반응형

웹 소스 맨 상단에 추가 해줌.


header("Content-Type: application/vnd.ms-excel");

header("Content-Disposition: attachment; filename=test.xls");

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


아래와 같은 헤더도 있으나, 현재까지는 위 3개로만으로도 다운이 가능하다.

header("Content-Type: application/octet-stream");

header("Content-Type-Description: File Transfer");

header("Expires: 0");

header("Cache-Control: must-revalidate, post-check=0,pre-check=0");

header("Pragma; public");



이걸 응용하여 버튼 클릭시 다운받게 해보자.


버튼 페이지(button.php)

<script>

    $.fn.outerHTML = function() {

         var el = $(this);

         if(!el[0]) return "";

         if(el[0].outerHTML) {

             return el[0].outerHTML;

         } else {

             var content = el.wrap('<p/>').parent().html();

             el.unwrap();

             return content;

         }

    }

function export_excel() {

var exp=$('#export').outerHTML();  //id 값이 export인 태그부터 가져옴.(위함수)

// var exp=$('#export').html(); => id값이 export 인 태그의 자식 태그들만 가져옴.

$('#data').val(exp);

$('#export_data').submit();

}

</script>

<div>

<input type="button" value="Excel" onclick="export_excel()">

<form id="export_data" method="post" action="./Excel.php">

<input type="hidden" id="data" name="data" />

</form>

</div>


다운로드 실행 페이지(Excel.php)

header("Content-Type: application/vnd.ms-excel");

header("Content-Disposition: attachment; filename=test.xls");

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


$data = $_REQUEST['data'];

echo "<meta content=\"application/vnd.ms-excel;charset=UTF-8;\" name=\"Content-type\">";

echo $data;


반응형

'Programming > PHP' 카테고리의 다른 글

Fatal error: Maximum execution time of 30 seconds exceeded  (0) 2015.10.22
error 메세지 출력  (0) 2015.10.22
bitnami  (0) 2015.10.21
phpexcel 설치  (0) 2015.10.13
index.php 삭제하기  (0) 2015.09.09