묻고답하기
게시판 리스트를 엑셀로 뽑아내는 PHP 도움좀 부탁드립니다.
2013.04.15 15:47
이곳을 통해서 아래 소스 사용해서 엑셀 XLS로 뽑아내서 사용중인데요...
글쓴 날짜가 2.01008E+13 이런 형식으로 출력됩니다.
물론 셀서식을 숫자로 변경하면 정상적으로 2010080301330 이렇게 출력되구요..
엑셀로 떨굴때 숫자셀서식으로 바로 떨궈줄수는 없는지 도움 요청 드립니다.
<?php
$info = array(
"host" => "OOOO",
"user" => "OOOO",
"pass" => "OOOO",
"db" => "OOOO",
"table" => "xe_documents",
"module_srl" => "OOOO",
);
$getFields = array("title","nick_name","regdate"); //출력원하는 칼럼을 배열로 입력
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=documents.xls");
$con = mysql_connect($info[host], $info[user], $info[pass]) || die(mysql_error());
mysql_query("set names utf8");
$con_db = mysql_select_db($info[db]) || die(mysql_error());
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="EN" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv=Content-Type content=text/html; charset="utf-8">
</head>
<body>
<table border=1>
<tr align=center>
<?php
$fields = mysql_list_fields("$info[db]", "$info[table]");
$columns = mysql_num_fields($fields);
for( $i=0 ; $i<$columns ; $i++ )
{
$field[$i]=mysql_field_name($fields, $i);
if( in_array($field[$i], $getFields) ) echo "<th>".$field[$i]."</th>";
}
?>
</tr>
<?php
$result = mysql_query("select * from $info[table] where module_srl = $info[module_srl]");
while( $data = mysql_fetch_assoc($result) )
{
echo"<tr>";
foreach( $data as $key => $val )
{
if( in_array($key, $getFields) ) echo "<td>".htmlspecialchars($val)."</td>";
}
echo"</tr>";
}
?>
</table>
</body>
</html>
댓글 4
-
송동우
2013.04.15 19:52
-
FaCer
2014.04.17 16:04
그것을 어따가 넣으라는건지 잘 모르겠네요 ㅠㅠ
-
prologos
2014.04.18 05:03
regdate컬럼일경우 date형으로 변경해서 출력해도 될꺼 같은데요?
if( in_array($key, $getFields) ) echo "<td>".htmlspecialchars($val)."</td>";
- 아래로 변경
if( in_array($key, $getFields) ) {
if ($key == 'regdate') {
$date = DateTime::createFromFormat("YmdHis",$val);
echo "<td>".htmlspecialchars($date->format('Y-m-d H:i:s'))."</td>";
}
else {
echo "<td>".htmlspecialchars($val)."</td>";
}
}
-
한이73
2014.07.07 18:11
echo "<td style='mso-number-format:\"0_ \";' >".htmlspecialchars($val)."</td>";
style="mso-number-format:'0_ ';"