CI 묻고 답하기

제목 Excel 사용하여 데이터 저장에서 문제가 생겼습니다.
글쓴이 천뢰풍 작성시각 2016/02/25 18:04:35
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 15370   RSS

고수님들의 도움이 필요합니다.

에러 내용

<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

에러 메세지 그대로 입니다.

PHPExcel_IOFactory <- 이걸 선언안해서 없다고 나오는겁니다.

해당 라이브러리 문서 다시 보시고 작업해보세요.

헛발이 / 2016/02/26 12:24:09 / 추천 0
$this->load->library("PHPExcel");
$objPHPExcel = new PHPExcel();

...

이렇게 선언을 먼저 하심이...

참고만 하세요.. 파일명이나 클레스명이니 하는건 본인에게 마추시구요..