CI 묻고 답하기

제목 CI에 적용가능한 phpExcel에 대한 질문입니다.
카테고리 기타 솔루션
글쓴이 엘제이 작성시각 2019/12/03 09:40:09
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 15379   RSS

제가 phpExcel을 이용하여 엑셀출력을 해야 하는데요

기존에 사용하고 있던것은 Zip 라이브러리를 서버에 설치되어 있어서 xlsx/Excel2007 로 잘 다운받고 사용했습니다.

그런데 이번 서버에는 설치가 인되어 있고 설치할 수 없는 상황입니다.

그래서 xls/Excel5 로 해보았는데 현재 phpExcel 라이브러리 소스에 문제인지 모르겠지만 

Equivalent... continue,  break.. 이상한 에러가 엑셀에 표기가 되면서 나오메요 . 밑으로 추적하면

엑셀객체->save("php://output"); 에서 나는데... ㅠㅠ

 

검색하다 보니깐

https://www.cikorea.net/bbs/view/tip?idx=7963 에 third_party 로 이용한  댓글이 있던데요

현재 링크가 없어졌습니다.  혹시 이부분의 내용을 알 수 있는 방법이 없을까요? 

현재 환경은 서버는 잘모르겠고요.. php7.3x 정도이고 CI는 3.x 대 입니다.

 다음글 컨트롤러 인식을 못합니다. (2)
 이전글 CI로 개발된 사이트인데 로그인시도가 미친듯이 들어옵니... (3)

댓글

kaido / 2019/12/03 09:52:30 / 추천 0

해당 문제는 CI 문제보다, PHP 7.3 이면 호환 안되는 엑셀 라이브러리들이 꽤 있을것 입니다.

엑셀 라이브러리들이 대부분 과거에 코어를 만들다보니, PHP 7.x 이상부터는 호환성이 떨어지는 편입니다.

단순 엑셀 출력을 원하시는 것이면 CI 헬퍼 함수 2개로 해결 가능 합니다.

table, download

한대승(불의회상) / 2019/12/03 11:05:49 / 추천 0
lovelywook / 2019/12/04 09:14:10 / 추천 0

php 7.3 / ci4 에서 PHPExcel를 이용한 테스트 코드입니다.

간단한 입력과 다운시 작동했습니다.

다운로드 부분 코드 입니다.

/**
 * 다운로드
 * @param  string $filename 파일명
 */
public function down($filename = 'excel')
{
    $filename.='.xls';
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="'.$filename.'"');
    header('Cache-Control: max-age=0');

    $objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel5');
    $objWriter->save('php://output');
}