반응형
작업을 하다 보면 상세페이지를 엑셀로 변환해야 할 경우가 있어요
보통 작업 하실 때 엑셀을 출력하는 페이지를 만든 후 거기서 다시 쿼리를 날린 곳 하는데요
그럴 필요 없이 상세페이지 html 을 엑셀 출력 페이지로 넘긴 후 바로 엑셀로 만들면 되요.
파일명 view.php
<div class="viewhtml">
<table>
<td>컬럼1</td>
<td>컬럼2</td>
<td>컬럼3</td>
<td>컬럼4</td>
</table>
</div>
<input type="button" name="excelbtn" value="엑셀다운" onClick="exceldown()">
<form name="excelform" id="excelform" method="post">
<textarea name="excelcontent" style="display:none"></textarea>
</form>
<script>
function exceldown(){
var f = document.excelform;
f.excelcontent.value = $(".viewhtml").html();
f.action = "./exceldown.php";
f.submit();
}
</script>
파일명 exceldown.php
<?php
header("Content-type:application/vnd.ms-excel; charset=UTF-8");
header( "Content-Type: application/vnd.ms-excel" );
header( "Content-Disposition: attachment; filename=airlee.xls" );
header( "Content-Description: PHP4 Generated Data" );
Header("Cache-Control: cache, must-revalidate");
header("Pragma: no-cache");
header("Expires: 0");
echo '<link href="header.css" rel="stylesheet">';
$_POST['excelcontent'] = str_replace("\\","",$_POST['excelcontent']);
$_POST['excelcontent'] = preg_replace("@<a.*?>@", "", $_POST['excelcontent'] );
die( "<div id='areabox'>".$_POST['excelcontent']."</div>" );
?>
php 파일에서 css가 잘 나오도록 수정만 하시면 됩니다.
반응형
'IT > php' 카테고리의 다른 글
php 파일 용량 htaccess php.ini php에서 설정하기 (0) | 2015.11.30 |
---|---|
php 배열을 json으로 인코딩 디코딩하기 (0) | 2015.11.30 |
php 배열 삭제 자르기 array_splice (0) | 2015.11.25 |
The mbstring extension is missing. Please check your PHP configuration. (0) | 2015.11.24 |
php multipart 사용법 stream_context_create (0) | 2015.11.23 |