basic게시판 엑셀로 저장하기

basic게시판 엑셀로 저장하기

QA

basic게시판 엑셀로 저장하기

본문

basic 스킨으로 게시판 하나 만들고 

여분필드 wr_1,wr_2,wr_3만 엑셀파일로 저장하는 연습중인데

어제 고수님들이 알려주신 phpexcel을 찾아보고 아래와 같이 따라만들고

루트에 /Classes/폴더 그리고 아래 파일 만들어 올려놓고 실행해봤는데

잘 안되서 고수님들 함 봐주십사 부탁드립니다. 새해복많이 받으세요.

 


<?php
if (!defined('_GNUBOARD_')) exit;
define('G5_MYSQL_HOST', 'localhost');
define('G5_MYSQL_USER', 'root');
define('G5_MYSQL_PASSWORD', '*********');
define('G5_MYSQL_DB', '*********');
define('G5_MYSQL_SET_MODE', false);
define('G5_TABLE_PREFIX', 'g5_');
// DB 접속 부분은 생략
$sql = " SELECT * FROM g5_write_notice order by order asc ";
$result = mysql_query($sql);
$cnt = _num_rows($result);
if (!$cnt) {
    alert("출력할 내역이 없습니다.");
}
/** PHPExcel */
require_once("/Classes/PHPExcel.php");
/* PHPExcel.php 파일의 경로를 정확하게 지정해준다. */
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
// Set properties
// Excel 문서 속성을 지정해주는 부분이다. 적당히 수정하면 된다.
$objPHPExcel->getProperties()->setCreator("작성자")
                             ->setLastModifiedBy("최종수정자")
                             ->setTitle("회원리스트")
                             ->setSubject("회원리스트")
                             ->setDescription("회원리스트")
                             ->setKeywords("회원리스트")
                             ->setCategory("License");

// Add some data
// Excel 파일의 각 셀의 타이틀을 정해준다.
$objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue("A1", "지역")
            ->setCellValue("B1", "상호")
            ->setCellValue("C1", "대표자");
// for 문을 이용해 DB에서 가져온 데이터를 순차적으로 입력한다.
// 변수 i의 값은 2부터 시작하도록 해야한다.
for ($i=2; $row=mysql_fetch_array($result); $i++)
{    
    // Add some data
    $objPHPExcel->setActiveSheetIndex(0)
                ->setCellValue("A$i", "$row[wr_1]")
                ->setCellValue("B$i", "$row[wr_2]")
                ->setCellValue("C$i", "$row[wr_3]");
}
// Rename sheet
$objPHPExcel->getActiveSheet()->setTitle("응시리스트");
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// 파일의 저장형식이 utf-8일 경우 한글파일 이름은 깨지므로 euc-kr로 변환해준다.
$filename = iconv("UTF-8", "EUC-KR", "자격증시험응시리스트");
// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="' . $filename . '.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
?>

 

참고내용:https://ncube.net/7254

이 질문에 댓글 쓰기 :

답변 1

잘안된다는게 어떤게 안된다는 것인지 명확히 말해주세요.

 

 $objPHPExcel->setActiveSheetIndex(0)                

 ->setCellValue("A".$i, $row[wr_1])                 

->setCellValue("B".$i, $row[wr_2])                 

->setCellValue("C".$i, $row[wr_3]);

 

일단 이렇게 바꾸고 다시 한번 실행해주세요

excel 부분은 코드가 잘못되더라도 500 에러가 나지는 않습니다.
엑셀부분 코드 다 지우고 위에서부터 하나씩 점검해보세요.
$cnt = <a href="//sir.kr/main/member/?mb_id=goodchurch" class="mention_user_info" target="_blank"></a>_num_rows($result);
이부분이 일단 이상한거 같은데요..

답변을 작성하시기 전에 로그인 해주세요.
전체 28
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT