Develop
2013.04.23 14:37
[php] 데이터를 엑셀,워드 형태로 변환할 때 헤더(ms-office)
조회 수 7494 댓글 0
우선 excel이나 ms-word로 변환할려면 아래의 헤더부분이 필요합니다.
<?
// 엑셀의 경우
header( "Content-type: application/vnd.ms-excel" );
header( "Content-Disposition: attachment; filename=파일명.xls" );
header( "Content-Description: PHP4 Generated Data" );
// 워드일 경우
header( "Content-type: application/vnd.ms-word" );
header( "Content-Disposition: attachment; filename=파일명.doc" );
header( "Content-Description: PHP4 Generated Data" );
?>
그 다음엔 엑셀에서 자기가 원하는 표를 구성합니다.
그리고 구성한 엑셀파일을 웹페이지로 저장합니다. (엑셀에서 웹페이지로 저장이 가능합니다.) <- 이 부분이 핵심이라고 할 수 있겠네요.
그런다음 메모장이나 기타 에디터로 여시고 상단에 위의 헤더를 추가합니다.
그리고 해당 셀부분에 DB에서 해당하는 필드값을 넣어줍니다.
워드도 같은 방식으로 구성하면 됩니다.
엑셀 변환시 샘플코드
<?
include "./DBConn.php";
header( "Content-type: application/vnd.ms-excel" );
header( "Content-Disposition: attachment; filename=업체관리.xls" );
header( "Content-Description: PHP4 Generated Data" );
$table_data = mysql_query("SELECT * FROM company order by BC_REGDATE desc");
?>
<?
while( $data = mysql_fetch_array( $table_data ) ) :
$bc_no=$data[BC_NO];
$bc_company=stripslashes($data[BC_COMPANY]);
$bc_name=stripslashes($data[BC_NAME]);
$bc_comno=$data[BC_COMNO];
$bc_address1=stripslashes($data[BC_ADDRESS1]);
$bc_address2=stripslashes($data[BC_ADDRESS2]);
?>
<html>
<table>
<tr>
<td> <?echo "$bc_company"; ?> </td>
</tr>
<?$i++; endwhile;?>
</table>
</html>
또 다른 샘플.. ㅋㅋ
<html>
...
<table>
<?php
$table_data = mysql_query("SELECT * FROM company order by BC_REGDATE desc");
while( $data = mysql_fetch_array( $table_data ) ) :
{
echo "<tr>";
foreach($data as $field)
{
echo "<td>";
echo $field;
echo "</td>";
}
echo "</tr>";
}
?>
</table>
</html>
foreach를 활용해서 필드명을 계속 가져오게 하면 쉽게 처리 됩니다.
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
669 | Develop | [js] jQuery 셀랙터(selector) 요약 | hooni | 2013.12.17 | 9421 |
668 | Etc | [english] 영어공부 혼자 하기, 인터넷으로 영어공부하기 추천사이트 20선 | hooni | 2013.11.25 | 9415 |
667 | Develop | [c] 공용체를 이용해 MSB를 LSB로 변환 | hooni | 2013.04.23 | 9383 |
666 | System/OS | [linux] 초간단 Postfix, Covecot, SSL/TLS (SMTP) | hooni | 2017.12.11 | 9370 |
665 | Develop | [c] 다중연결 서버 만들기 #2 - select() 사용 | hooni | 2013.04.23 | 9364 |
664 | Develop | [java] Sieve of Eratosthenes (에라토스테네스의 체) | hooni | 2013.04.23 | 9340 |
663 | Develop | [c++] MFC로 만든 디렉토리/파일 파인더 | hooni | 2013.04.23 | 9330 |
662 | Develop | [c++] 더블 링크리스트(linked list) 학습용 초간단 단어장 | hooni | 2003.04.23 | 9330 |
661 | Develop | [js] 폼(form) 전송시 중복 클릭 방지 간단한 구문 | hooni | 2013.04.23 | 9319 |
660 | Develop | [c] 전위 표기법으로 연산 예제.. | hooni | 2013.04.23 | 9308 |
659 | Develop | [c] 도메인 소켓(Unix Domain Socket) UDP | hooni | 2013.04.23 | 9286 |
658 | Develop | [ios] In App Purchase 개발 | hooni | 2013.11.20 | 9272 |