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 = @mysql_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;
?>
!-->
답변 1
잘안된다는게 어떤게 안된다는 것인지 명확히 말해주세요.
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue("A".$i, $row[wr_1])
->setCellValue("B".$i, $row[wr_2])
->setCellValue("C".$i, $row[wr_3]);
일단 이렇게 바꾸고 다시 한번 실행해주세요
답변을 작성하시기 전에 로그인 해주세요.