개발은 너무해

엑셀 다운로드 header 방식 본문

Programming/PHP

엑셀 다운로드 header 방식

까칠 평생초보 2015.08.26 17:20

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


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
엑셀 다운로드 header 방식  (0) 2015.08.26
0 Comments
댓글쓰기 폼