CI 묻고 답하기

제목 excel 다운로드 구현중 생성한 엑셀파일이 깨지는 현상에 대해 문의드립니다.
카테고리 CI 2, 3
글쓴이 하하예에 작성시각 2017/03/28 10:36:52
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 17570   RSS
class Excel extends CI_Controller {

	function __construct() {
		parent::__construct();

		check_session(); // 세션 체크
		$this->load->database();
		$this->load->library('PHPExcel');
		$this->phpexcel->setActiveSheetIndex(0);
	}

	public function download_deposit() {

		$this->load->model( 'mdl_report' );

		// $search_result = $this->mdl_report->get_bookings(); // 검색결과
		// $ary = $search_result['a_list'];
		// var_dump(expression)var($ary);
		// exit;


		$this->phpexcel->getActiveSheet()->setTitle('입출금관리');
		$this->phpexcel->getActiveSheet()->setCellValue('A1', '채널아이디');
		$this->phpexcel->getActiveSheet()->getColumnDimension('A')->setWidth(12);
		$this->phpexcel->getActiveSheet()->setCellValue('A2', '1234');



		$filename='test.xls'; //save our workbook as this file name
		header('Content-Type: application/vnd.ms-excel'); //mime type
		header('Content-Disposition: attachment;filename="'.$filename.'"'); //tell browser what's the file name
		header('Cache-Control: max-age=0'); //no cache
		$objWriter = PHPExcel_IOFactory::createWriter($this->phpexcel, 'Excel5');
		$objWriter->save('php://output');
	}
}

 

 

 

엑셀 다운로드 구현중에 깨지는 현상이 있어서 문의드립니다.

데이터를 직접 입력하고 테스트할때는 문제가 안됐었는데 model을 불러오고 테스트해보니 엑셀 데이터가 깨지는 현상이 발생하더라구요

다른 소스코드는 문제가안돼고 단순히 model을 불러오면 깨지는 현상이 이러나는데 혹시 이런경험있으신 고수분 있으시면 어찌 해결했는데 조언 부탁드립니다. 

감사합니다.

 

깨지는 엑셀 캡쳐입니다.

 

 


첨부파일 캡처.PNG (136.3 KB)
 다음글 코드이그나이터 DB 연동 질문입니다. (MySQL or... (6)
 이전글 이미 폼검증이 되있는 부분을 없애고 싶은데요. (2)

댓글

변종원(웅파) / 2017/03/28 12:32:56 / 추천 0
한글변환해서 넣어보세요. 아니면 영문으로만 테스트해보세요.
하하예에 / 2017/03/28 13:14:46 / 추천 0

다 시도해봤습니다.. 

단순히 모델만 불러오면 이런현상이 나네요 흠. 혹시 mdl쪽에 메소드 문제있을까 해서 메소드 다 지우고 불러와봤는데도 저리 깨져서 나와요 ㅠㅠ

lovelywook / 2017/03/29 09:58:01 / 추천 0

혹시 echo등 출력하는 부분이 있나요?

하하예에 / 2017/03/29 10:38:08 / 추천 0

아니요 전혀 없습니다. 단순히 $this->load->model( 'mdl_report' );  을 불러오면 저렇게 파일이 깨지더라구요

<?php
class Mdl_report extends CI_Model {

	function __construct(){
		parent::__construct();
	}

} //class Mdl_report

?>

 

 

혹시몰리 모델을 위에처럼 아무것도 안넣고 부러왔는대도 저렇게 깨지네요. ㅎㅎ

하하예에 / 2017/03/29 12:16:13 / 추천 0
헤더 밑에 ob_end_clean(); 넣어서 해결했습니다. 감사합니다.
변종원(웅파) / 2017/03/29 12:32:22 / 추천 0
뭔가 쓰레기(?)가 남아있었군요. :)