제목 | Excel 사용하여 데이터 저장에서 문제가 생겼습니다. | ||
---|---|---|---|
글쓴이 | 천뢰풍 | 작성시각 | 2016/02/25 18:04:35 |
|
|||
고수님들의 도움이 필요합니다. 에러 내용 <b>Fatal error</b>: Class 'PHPExcel_IOFactory' not found in <b>/data/web/target/application/controllers/pmt_main.php</b> on line <b>288</b><br /> $rowId = $this->input->post('selection_id',true); # 자료 가져오기 $query = $this->db->select()->from('target_promotion')->get(); $result = $query->result();// 시트를 지정한다. $this->excel->setActiveSheetIndex(0); $this->excel->getActiveSheet()->setTitle('Sheet1'); # cell 헤더 설정$this->excel->getActiveSheet()->setCellValue('A1', '순번'); $this->excel->getActiveSheet()->setCellValue('B1', '포털명'); $this->excel->getActiveSheet()->setCellValue('C1', '테마'); # 헤더 컬럼 가운데 정렬 $this->excel->getActiveSheet()->getStyle('A1:C1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); #cell 데이터 출력 $n=2; foreach($result as $row){ $this->excel->getActiveSheet()->setCellValue('A'.$n, $row->pmt_id); $this->excel->getActiveSheet()->setCellValue('B'.$n, $row->pmt_name); $this->excel->getActiveSheet()->setCellValue('C'.$n, $row->pmt_media); $n++;} # 파일로 내보낸다. 파일명은 'filename.xls' 이다. $filename = 'target_'.date('Ymd').'.xls'; header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="'.$filename.'"'); header('Cache-Control: max-age=0'); # Excel5 포맷(excel 2003 .XLS file)으로 저장한다. # 두 번째 매개변수를 'Excel2007'로 바꾸면 Excel 2007 .XLSX 포맷으로 저장한다. $objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel5'); # 이용자가 다운로드하여 컴퓨터 HD에 저장하도록 강제한다. $objWriter->save('php://output');
소스는 위와같고 $this->load->library("excel"); 추가하였고 application 하위에 third_party 하위에 phpexcel 폴더와 파일을 두었고, libraries에 excel.php파일을 만들어서 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); require_once APPPATH."/third_party/PHPExcel.php"; class Excel extends PHPExcel { public function __construct() { parent::__construct(); }} 와 같이 했습니다만..에러가 뜨네요 ㅠ.ㅠ 알수가없네요
|
|||
다음글 | 비밀번호 변경시 (5) | ||
이전글 | 코드이그나이터 user_guide 디렉터리 삭제해도 되... (3) | ||
변종원(웅파)
/
2016/02/25 19:02:35 /
추천
0
|
헛발이
/
2016/02/26 12:24:09 /
추천
0
$this->load->library("PHPExcel"); $objPHPExcel = new PHPExcel(); ... 이렇게 선언을 먼저 하심이... 참고만 하세요.. 파일명이나 클레스명이니 하는건 본인에게 마추시구요.. |
에러 메세지 그대로 입니다.
PHPExcel_IOFactory <- 이걸 선언안해서 없다고 나오는겁니다.
해당 라이브러리 문서 다시 보시고 작업해보세요.