메뉴 건너뛰기

프로그램언어

조회 수 20289 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

CodeIgniter에서 엑셀 파일을 써야 할 일이 있어서..

사용하는 방법을 찾다가 정리를 해 봅니다.


여기서 사용하는 엑셀 사용 클래스는 PHPExcel을 사용하는데..

2012년 6월 19일부로 github로 홈페이지를 이사 했습니다.


그런데..github에서 tag의 최신 버전이.. 1.7.8rc1이더군요..

왠만하면 서비스에서는 rc나 beta는 잘 쓰질 않아서..

여기서는 이전 홈페이지의 가장 마지막 버전인 1.7.7을 사용 했습니다.


사용버전

  • CodeIgniter : 2.1.2
  • PHPExcel : 1.7.7

먼저 다운로드 받은 phpexcel의 압축을 풀어 줍니다.

그리고, 압축을 푼 폴더에서 Classes 폴더의 내용을 application/third_part 폴더에 복사해 넣습니다.



application/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();
    }
}


설치는 완료 되었습니다.

아래는 간단한 예제입니다.


파일 읽기

// PHPExcel 라이브러리 로드
$this->load->library('excel');
// 엑셀 파일 읽기
$objPHPExcel = PHPExcel_IOFactory::load(APPPATH.'upload/example1.xls');



// 엑셀 내용을 배열로 바꾸기
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);

echo '<hr />';
echo '<pre>';
var_dump($sheetData);
echo '</pre>';


엑셀 파일 쓰기

// PHPExcel 라이브러리 로드
$this->load->library('excel');
// 워크시트에서 1번째는 활성화
$this->excel->setActiveSheetIndex(0);
// 워크시트 이름 지정
$this->excel->getActiveSheet()->setTitle('테스트 워크시트');
// A1의 내용을 입력 합니다.
$this->excel->getActiveSheet()->setCellValue('A1', '여기에 텍스트 입력');
// A1의 폰트를 변경 합니다.
$this->excel->getActiveSheet()->getStyle('A1')->getFont()->setSize(20);
// A1의 글씨를 볼드로 변경합니다.
$this->excel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);
// A1부터 D1까지 셀을 합칩니다.
$this->excel->getActiveSheet()->mergeCells('A1:D1');
// A1의 컬럼에서 가운데 쓰기를 합니다.
$this->excel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 
$filename='just_some_random_name.xls'; // 엑셀 파일 이름
header('Content-Type: application/vnd.ms-excel'); //mime 타입
header('Content-Disposition: attachment;filename="'.$filename.'"'); // 브라우저에서 받을 파일 이름
header('Cache-Control: max-age=0'); //no cache
            
// Excel5 포맷으로 저장 엑셀 2007 포맷으로 저장하고 싶은 경우 'Excel2007'로 변경합니다.
$objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel5'); 
// 서버에 파일을 쓰지 않고 바로 다운로드 받습니다.
$objWriter->save('php://output');

  1. gd_info 사용 가능한 GD 라이브러리에 대한 정보를 배열로 반환

    Date2016.12.23 Views17989
    Read More
  2. gcm 푸시 알림 php 테스트

    Date2018.07.19 Views5582
    Read More
  3. FPDF - PHP로 PDF 만들기

    Date2014.02.27 Views21084
    Read More
  4. fopen 파일 열기

    Date2015.04.14 Views20297
    Read More
  5. fileatime 파일에 최종적으로 접근한 시간을 반환

    Date2016.12.23 Views18117
    Read More
  6. fcm 푸시 알림 php 테스트

    Date2018.07.19 Views6048
    Read More
  7. explode - 문자열 나눔

    Date2016.12.23 Views19943
    Read More
  8. ereg(), eregi(), ereg_replace(), eregi_replace(), split() 대체

    Date2023.01.12 Views227
    Read More
  9. Drag/Drop HTML elements

    Date2014.03.26 Views19535
    Read More
  10. dddotag - 허용하지 않는 태그 걸러내기

    Date2019.01.16 Views1850
    Read More
  11. DB상의 많은 파일을 한꺼번에 다운받기

    Date2014.02.27 Views28332
    Read More
  12. DB 연동 4단 셀렉트 박스

    Date2018.09.28 Views6085
    Read More
  13. DB 내용을 화면에 출력(이중 for 문)

    Date2015.04.14 Views21246
    Read More
  14. DAUM 지도 API 좌표→주소(주소->좌표) 변환

    Date2020.10.05 Views431
    Read More
  15. date() 함수의 출력 형식

    Date2021.03.26 Views241
    Read More
  16. current() next() key() 그외 배열관련 함수

    Date2021.03.26 Views253
    Read More
  17. curl을 이용하여 post, get 방식 으로 데이터 전송하기

    Date2023.01.12 Views335
    Read More
  18. cUrl를 이용한 json 데이타 주고 받기

    Date2020.09.28 Views1255
    Read More
  19. csv파일 다루기. fputcsv(), fgetcsv()

    Date2021.03.26 Views558
    Read More
  20. CodeIgniter에서 PHPExcel 사용하기

    Date2017.03.06 Views20289
    Read More
Board Pagination Prev 1 ... 8 9 10 11 12 13 14 15 16 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved