본문으로 바로가기

[PHP] Excel로 출력

category 개발삽질방/Web 2018. 11. 26. 15:34
반응형

Azure DB에 있는 내용을 엑셀파일로 출력하는 예제이다.

물론 다른 DB도 가능하다.


<?php
// DB connection info
$host = "example.database.windows.net";
$user = "example";
$pwd = "password";
$db = "example";
try {
    $conn = new PDO("sqlsrv:Server= $host ; Database = $db ", $user, $pwd);
    $sql = "SELECT name, hp, entry, type, etc FROM T_Join";
	$stmt = $conn->query($sql);
	//$datas = $stmt->fetchAll();
	
	// Create array
    $list = array ();

    // Append results to array
    array_push($list, array("이름", "전화번호", "참가자 수", "캠핑형태", "기타"));
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
		array_push($list, array_values($row));
    }

	// Output array into CSV file
	$fp = fopen('php://output', 'w');
	fputs($fp, "\xEF\xBB\xBF");
	header('Content-Type: text/csv; charset=utf-8');
	header('Content-Disposition: attachment; filename="'.$filename.'"');
	foreach ($list as $ferow) {
		fputcsv($fp, $ferow);
    }
}
catch(Exception $e) {
    die(print_r($e));
}
?>
반응형