테스트 사이트 - 개발 중인 베타 버전입니다

게시판리스트를 엑셀로 다운받으면 이상하게 됩니다..

· 17년 전 · 2931 · 6
<?
include_once("./_common.php");
$sql = " select * from $g4[write_prefix]$bo_table";
if ($sfl){
$sql .= " where $sfl like '%$stx%' ";
}else{
$sql .= "";
}
if ($sst){
$sql .= " order by $sst $sod ";
}else{
$sql .=" order by mb_datetime asc ";
}
$result = sql_query($sql);
$cnt = @mysql_num_rows($result);
if (!$cnt)
alert("출력할 내역이 없습니다.");

$date = date("Y-m-d",time());
header( "Content-type: application/vnd.ms-excel" );
header( "Content-Disposition: attachment; filename=$date.xls" );
header( "Cache-Control: cache, must-revalidate");
header( "Content-Description: PHP4 Generated Data" );
echo "<html><head>";
echo "<meta http-equiv='Content-Type' content='text/html; charset=ks_c_5601-1987'>";
echo "</head><body>";
echo "<table border=1 style='font-family:돋움; font-size:10pt;'><tr>";
echo "<td align=center>주민번호</td>

---중간생략---

echo "<tr>\n";
echo "<td align=center>" . $row[wr_1] . "</td>\n";
echo "</tr>\n";
}
echo "</table>";
echo "</body></html>";
if ($i == 0)
alert("자료가 없습니다.");

exit;
?>
위와 같이 해서 엑셀로 다운을 받으면 한글은 잘되는데 '주민번호'는 이상하게 들어오고..(엑셀 셀에서 두번클릭을 하면 정상적으로 보여집니다.)

아래와같이 3개..전화번호는 맨 앞자리가 잘려서 저장이 됩니다.

echo "<td align=center>" . $row[wr_10] . $row[wr_11] . $row[wr_12] . "</td>\n";

하다 하다 너무 답답해서 이렇게 질문 드려봅니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 6개

17년 전
이상한 것 없습니다. 정상입니다.
엑셀에서 값을 표기할 공간이 부족하면 ###인가 ****로 나오고

두 번 클릭하면 제 길이로 맞춰 주기 때문에 제대로 보이는 것 뿐입니다.

해당 <TD에서 width 값을 줘 보세요.
17년 전
답변 감사합니다. 시도한번 해보겠습니다.
공간이 부족해서 ### *** 이러한것들이 나오는것이 아니고 전혀다른 영문자와 숫자로 표시됩니다.
17년 전
td값을 아무리 넓혀줘도 마찬가지 입니다.
17년 전
추가 질문이 있습니다.
전화번호 출력을 시킬때에
echo "<td align=center>" . $row[wr_7] . $row[wr_8] . $row[wr_9] . "</td>\n";

필드 3개중 맨 앞의 필드가 예를 들어 010 이나 011 이면 엑셀로 왔을때는 맨앞의 0자가 없이 10,,11로 저장이 됩니다.
도통이해가 되질않습니다.
17년 전
해결했습니다..관심가져주셔서 감사합니다.
14년 전
^^

게시글 목록

번호 제목
633
632
629
623
621
618
616
614
600
594
590
568
557
556
553
550
548
545
543
540
535
531
530
527
523
520
519
517
515
512