제목 | phpexcel라이브러리 pdf 파일로 변경 에러 | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 호아세 | 작성시각 | 2017/02/20 14:45:48 |
|
|||
phpexcel로 excel다운로드를 만들어 놓은 코드를 tcppdf로 바꿔서 pdf다운로드를 만들려고 코드변경을 했습니다. 검색을 해보니 아래 header부분과 tcppdf 불러오는 부분을 추가하면 된다고 해서 변경해서 붙였는데 ERR_INVALID_RESPONSE 에러가 뜨고 있습니다. 어디가 잘못되었는지 모르겠습니다. 어떤 문제때문일까요 ??? 아래 코드 첨부합니다 .
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Excel_list extends CI_Controller { public function __construct() { parent::__construct(); //Call PHPExcel class $this->load->model('모델명'); } public function 메소드명 (){ $sDATE = $this->input->get_post('StDATE'); $eDATE = $this->input->get_post('EndDATE'); $SDATE = $data['searchsdate']; $EDATE = $data['searchedate']; $this->load->library('excel'); $rendererName = PHPExcel_Settings::PDF_RENDERER_TCPDF; $rendererLibraryPath = "/usr/share/nginx/html/test/application/third_party/phpexcel/Writer/PDF/tcpdf"; //PHPEXCEL 라이브러리 $this->excel->setActiveSheetIndex(0); $this->excel->getActiveSheet()->setTitle('현황'); //sheet 꾸미기 $this->excel->getActiveSheet()->mergeCells('A1:J1'); //sheet 병합 $this->excel->getActiveSheet()->getRowDimension("1")->setRowHeight(25); $this->excel->getActiveSheet()->getRowDimension("2")->setRowHeight(20); //열높이 $this->excel->getActiveSheet()->getColumnDimension("A")->setWidth(25); //줄넓이 $this->excel->getActiveSheet()->getColumnDimension("B")->setWidth(40); $this->excel->getActiveSheet()->getColumnDimension("C")->setWidth(20); $this->excel->getActiveSheet()->getColumnDimension("D")->setWidth(15); $this->excel->getActiveSheet()->getColumnDimension("E")->setWidth(15); $this->excel->getActiveSheet()->getColumnDimension("F")->setWidth(15); $this->excel->getActiveSheet()->getColumnDimension("G")->setWidth(15); $this->excel->getActiveSheet()->getColumnDimension("H")->setWidth(15); $this->excel->getActiveSheet()->getColumnDimension("I")->setWidth(15); $this->excel->getActiveSheet()->getColumnDimension("J")->setWidth(15); //데이터컬럼나열 $this->excel->getActiveSheet()->setCellValue('A2', '판매13'); $this->excel->getActiveSheet()->setCellValue('B2', '판매12'); $this->excel->getActiveSheet()->setCellValue('C2', '판매11'); $this->excel->getActiveSheet()->setCellValue('D2', '판매1'); $this->excel->getActiveSheet()->setCellValue('E2', '판매2'); $this->excel->getActiveSheet()->setCellValue('F2', '판매3'); $this->excel->getActiveSheet()->setCellValue('G2', '판매4'); $this->excel->getActiveSheet()->setCellValue('H2', '판매5'); $this->excel->getActiveSheet()->setCellValue('I2', '판매6'); $this->excel->getActiveSheet()->setCellValue('J2', '판매7'); //데이터 불러오기(기간파라미처리) $list = $this->list_m->productlist($SDATE, $EDATE); //합산을 위한 초기값설정 $Result_SumOpt = 0; $Result_PRICE = 0; $Result_opt1 = 0; $Result_opt2 = 0; $Result_opt3 = 0; $Result_a_won = 0; $Result_y_won = 0; $Result_c_won = 0; $n=3; //시작되는 시트값 설정 //데이터값이 없을경우 처리 if($list == "") { $this->excel->getActiveSheet()->setCellValue('A3', '발권된 내역이 없습니다.'); $this->excel->getActiveSheet()->getStyle('B5:C6')->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); $this->excel->getActiveSheet()->getRowDimension("3")->setRowHeight(50); $this->excel->getActiveSheet()->getStyle('A3')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $this->excel->getActiveSheet()->mergeCells('A3:J3'); $this->excel->getActiveSheet()->getStyle('A3:J3')->getFont()->setSize(13); $this->excel->getActiveSheet()->getStyle('A3')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); }else{ foreach($list as $row): //합계 $HUMOPT = $row->1 + $row->2 + $row->3 ; $HUMWON = $row->aprice + $row->yprice + $row->cprice ; //사용상태 //총합계 $Result_SumOpt+= $HUMOPT; $Result_PRICE+= $HUMWON; $Result_opt1+= $row->1; $Result_opt2+= $row->2; $Result_opt3+= $row->3; $Result_a_won+= $row->aprice; $Result_y_won+= $row->yprice; $Result_c_won+= $row->cprice; $this->excel->getActiveSheet()->setCellValue('A'.$n, $row->c_name); $this->excel->getActiveSheet()->setCellValue('B'.$n, $row->p_name); $this->excel->getActiveSheet()->setCellValue('C'.$n, number_format($HUMOPT)); $this->excel->getActiveSheet()->setCellValue('D'.$n, number_format($HUMWON)); $this->excel->getActiveSheet()->setCellValue('E'.$n, number_format($row->1)); $this->excel->getActiveSheet()->setCellValue('F'.$n, number_format($row->2)); $this->excel->getActiveSheet()->setCellValue('G'.$n, number_format($row->3)); $this->excel->getActiveSheet()->setCellValue('H'.$n, number_format($row->aprice)); $this->excel->getActiveSheet()->setCellValue('I'.$n, number_format($row->yprice)); $this->excel->getActiveSheet()->setCellValue('J'.$n, number_format($row->cprice)); $this->excel->getActiveSheet()->getStyle('A'.$n.':J'.$n.'')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $n++; endforeach; $number = count($list)+3; //마지막sheet 구하기 $this->excel->getActiveSheet()->mergeCells('A'.$number.':B'.$number.''); $this->excel->getActiveSheet()->setCellValue('A'.$number, '합계'); $this->excel->getActiveSheet()->setCellValue('C'.$number, number_format($Result_SumOpt)); $this->excel->getActiveSheet()->setCellValue('D'.$number, number_format($Result_PRICE)); $this->excel->getActiveSheet()->setCellValue('E'.$number, number_format($Result_opt1)); $this->excel->getActiveSheet()->setCellValue('F'.$number, number_format($Result_opt2)); $this->excel->getActiveSheet()->setCellValue('G'.$number, number_format($Result_opt3)); $this->excel->getActiveSheet()->setCellValue('H'.$number, number_format($Result_a_won)); $this->excel->getActiveSheet()->setCellValue('I'.$number, number_format($Result_y_won)); $this->excel->getActiveSheet()->setCellValue('J'.$number, number_format($Result_c_won)); } $filename= '기준_'.date('Y.m.d.h.i.s').'.pdf'; //save our workbook as this file name header('Content-Type: application/pdf'); //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->excel, 'PDF'); $objWriter->save('php://output'); } }
|
|||
다음글 | 모바일사이트를 Controller와 View만 다르게 ... (2) | ||
이전글 | ajax와 폼검증 질문 다시 드립니다ㅜsjs (5) | ||
없음 |