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

엑셀로 출력하는 방법

10년 전 조회 4,097

</p><p><?php</p><p>$sub_menu = "400100";</p><p>include_once('./_common.php');</p><p>include (G5_SKIN_PATH.'/multi_category/lib.php');</p><p> </p><p>auth_check($auth[$sub_menu], 'r');</p><p> </p><p>$g5['title'] = '전체 접수내역';</p><p>include_once('./handling.sub.php');</p><p> </p><p>$colspan = 5;</p><p> </p><p>$max = 0;</p><p>$sum_count = 0;</p><p>$sql = " select * from {$g5['write_aaaa_table']}</p><p>            where wr_3 between '{$fr_date}' and '{$to_date}' order by wr_id desc";</p><p>$result = sql_query($sql);</p><p> </p><p>?></p><p> </p><p><div class="tbl_head01 tbl_wrap"></p><p> </p><p>    <table></p><p>    <caption><?php echo $g5['title']; ?> 목록</caption></p><p>    <thead></p><p>    <tr></p><p>        <th scope="col">분류</th></p><p>        <th scope="col">제목</th></p><p>        <th scope="col">접수경로</th></p><p>        <th scope="col">접수일</th></p><p>        <th scope="col">접수시간</th></p><p>        <th scope="col">접수자</th></p><p>        <th scope="col">연락처</th></p><p>        <th scope="col">휴대전화</th></p><p>        <th scope="col">지역</th></p><p>        <th scope="col">상세주소</th></p><p>        <th scope="col">내용</th></p><p>        <th scope="col">기타사항</th></p><p>        <th scope="col">처리상태</th></p><p>        <th scope="col">처리완료일</th></p><p>        <th scope="col">처리불가 사유</th></p><p> </p><p>    </tr></p><p>    </thead></p><p> </p><p>    <tbody></p><p>      <?php</p><p>      $h1 = 0;</p><p>      $h2 = 0;</p><p>      $h3 = 0;</p><p>      $h4 = 0;</p><p>      $no = 0;</p><p> </p><p>      for ($i=0; $row=sql_fetch_array($result); $i++) {</p><p>          $no = $i+1;</p><p>          $ca_name = $row['ca_name'];</p><p>            include('handle_multi.php');</p><p>          $wr_1 = $row['wr_1'];</p><p>          $wr_2 = $row['wr_2'];</p><p>          $wr_3 = $row['wr_3'];</p><p>          $wr_4 = $row['wr_4'];</p><p>          $wr_5 = $row['wr_5'];</p><p>          $wr_6 = $row['wr_6'];</p><p>          $wr_7 = $row['wr_7'];</p><p>          $wr_8 = $row['wr_8'];</p><p>          $wr_9 = $row['wr_9'];</p><p>          $wr_10 = $row['wr_10'];</p><p>          $wr_11 = $row['wr_11'];</p><p>          $wr_12 = $row['wr_12'];</p><p>          $wr_13 = $row['wr_13'];</p><p>          $wr_subject = $row['wr_subject'];</p><p>          $wr_content = $row['wr_content'];</p><p>          $bg = 'bg'.($i%2);</p><p> </p><p>          if($wr_1 == '처리중'){</p><p>            $h1 = $h1 + 1;</p><p>          }</p><p>          else if($wr_1 == '처리완료'){</p><p>            $h2 = $h2 + 1;</p><p>          }</p><p>          else if($wr_1 == '처리불가'){</p><p>            $h3 = $h3 + 1;</p><p>          }</p><p>          else {</p><p>            $h4 = $h4 + 1;</p><p>          }</p><p>    ?></p><p> </p><p>    <tr class="<?php echo $bg; ?>"></p><p>        <td><?php echo $ca_name ?></td></p><p>        <td><?php echo $wr_subject ?></td></p><p>        <td><?php echo $wr_2 ?></td></p><p>        <td><?php echo $wr_3 ?></td></p><p>        <td><?php echo $wr_4 ?></td></p><p>        <td><?php echo $wr_5 ?></td></p><p>        <td><?php echo $wr_6 ?></td></p><p>        <td><?php echo $wr_7 ?></td></p><p>        <td><?php echo $wr_8 ?></td></p><p>        <td><?php echo $wr_9 ?></td></p><p>        <td><?php echo $wr_content ?></td></p><p>        <td><?php echo $wr_10 ?></td></p><p>        <td><?php echo $wr_1 ?></td></p><p>        <td><?php echo $wr_12 ?></td></p><p>        <td><?php echo $wr_13 ?></td></p><p>    </tr></p><p> </p><p>    <?php</p><p>    }</p><p>    $sum_count = $no;</p><p>    if ($i == 0)</p><p>        echo '<tr><td colspan="15" class="empty_table">자료가 없습니다.</td></tr>';</p><p> </p><p>    ?></p><p>    </tbody></p><p>    <tfoot></p><p>    <tr></p><p>        <td>합계</td></p><p>        <td><strong><?php echo $sum_count ?></strong></td></p><p>        <td colspan="13"> 처리중 : <?php echo $h1 ?> | 처리완료 : <?php echo $h2 ?> | 처리불가 : <?php echo $h3 ?> | 대기 : <?php echo $h4 ?></td></p><p>    </tr></p><p>    </tfoot></p><p>    </table></p><p></div></p><p> </p><p><?php</p><p>include_once('./admin.tail.php');</p><p>?></p><div>
그누보드 에서 관리자에서 날짜별 조회하여 게시글을 출력하는 페이지를 만들어 보았습니다.
이렇게 출력된 게시글을 엑셀로 출력이라는 버튼을 만들어서 엑셀로 출력하고 싶은데
어떻게 하는지 알고싶습니다.
댓글을 작성하려면 로그인이 필요합니다.

답변 1개

엑셀로 출력시 디자인 요소인 header, footer가 있으면 같이 출력이 되기 때문에 body 부분에는 table만 존재해야 됩니다.

 

그리고 엑셀로 출력할때는 header에 어플리케이션 타입을 엑셀로 정의하시면 됩니다.

 

변수를 하나 정의하셔서 엑셀이 아닐경우에만

 

$sub_menu = "400100";

include_once('./_common.php');

include (G5_SKIN_PATH.'/multi_category/lib.php');

auth_check($auth[$sub_menu], 'r');

$g5['title'] = '전체 접수내역';

include_once('./handling.sub.php');

 

이부분과

 

include_once('./admin.tail.php');

 

이 부분을 노출하시고

 

엑셀일 경우에는 소스 앞부분에

 

header("Pragma:");

header("Cache-Control:");

header("Content-Type: application/vnd.ms-excel");

header("Content-Disposition: attachment; filename=$file_name); // 저장을 원하는 파일제목

header("Content-Description: PHP5 Generated Data"); // description

를 노출하시면 됩니다.

 

문서 컨텐트 타입이 엑셀이므로 엑셀 파일로 다운이 됩니다.

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

말씀하신데로 해 보았는데 500에러가 뜨네요...ㅠ
노출을 하지말라는 소스중에
include_once('./handling.sub.php');
이것은 날짜 선택하는 페이지인데
이것도 노출하면 안되는건가요?
그리고 제가 날짜를 선택해서 조회하면
현재 출력된 내용을 엑셀로 저장하고 싶은데... 엑셀로 저장이라는 버튼을 만들어서
이 방법은 없을까요?

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

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록

🐛 버그신고