<?php

$mysqli = new mysqli('127.0.0.1', 'root', '******', 'DB명');


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

header( "Content-Disposition: attachment; filename = excel_test.xls" );     //filename = 저장되는 파일명을 설정합니다.

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


//엑셀 파일로 만들고자 하는 데이터의 테이블을 만듭니다.


$EXCEL_FILE = "

<table border='1'>

    <tr>

       <td>사용자ID</td>

       <td>이름</td>

       <td>성</td>

       <td>E-mail</td>

       <td>Phone</td>

    </tr>

";


$qry = "SELECT * FROM `컬럼명` LIMIT 20";

$res = $mysqli->query($qry);


// DB 에 저장된 데이터를 테이블 형태로 저장합니다.


while ($row = $res->fetch_object()) {

$EXCEL_FILE .= "

    <tr>

       <td>".$row->사용자ID."</td>

       <td>".$row->이름."</td>

       <td>".$row->성."</td>

       <td>".$row->E-mail."</td>

       <td>".$row->Phone."</td>

    </tr>

";

}


$EXCEL_FILE .= "</table>";


// 만든 테이블을 출력해줘야 만들어진 엑셀파일에 데이터가 나타납니다.


echo "<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>";

echo $EXCEL_FILE;

?>




위에 PHP 파일이 저장된 루트 URL로 접속시 바로 파일저장 팝업이 뜨고 파일저장 후 

엑셀파일을 실행시키면 데이터가 잘 저장된 것을 확인 할 수 있습니다.



header 부분은 데이터를 엑셀파일로 내보내는 형식을 지정하며 

하단에 <meta> 태그는 엑셀파일에서 출력되는 데이터의 타입을 지정합니다. 

두가지 부분은 필수!! 



+ Recent posts