PHPExcel

1 6

https://github.com/PHPOffice/PHPExcel

http://www.codeplex.com/PHPExcel

PHP로 엑셀파일을 제어/읽기/쓰기 할 수 있게 해준다.
(xls,xlsx,csv,ods,xml,html,slk,pdf 등등)

조금 사용해봤는데

  • reader,writer 전부 됨
  • writer는 euc-kr 사용 못 함(전부 utf-8)
  • 7만건을 넣고 파일로 저장을 해봤는데 엄청나게 오래걸림(메모리 256MB 이상 사용됨)
  • 거의 완벽한 엑셀파일을 만들 수 있음
  • 라이센스는 GNU의 LGPL

  • 미지원 기능
    • 통합문서 암호화 : 지원 안됨.
      • 시트 보호용 암호 지정은 됨.(제작자가 말하길 MS쪽 설명에 해당 라이브러리를 찾을 수 없다네.(찾을 수 있다면 역으로 풀 수 있는게 되니깐.. 그런것 같네)

간단 예제

1. 배경색, 글자색, 하이퍼링크, 셀타입


$objPHPExcel = new PHPExcel();

// Set document properties
$objPHPExcel->getProperties()->setCreator("text")
->setLastModifiedBy("text")
->setTitle('text')
->setSubject('text')
->setDescription('text')
->setKeywords('text')
->setCategory('text');

$sheet = $objPHPExcel->setActiveSheetIndex(0);
$i=1;
$sheet->setCellValue('A'.$i, '번호')
->setCellValue('B'.$i, '설명')
->setCellValue('C'.$i, '가격')
->setCellValue('D'.$i, '상품명');
$sheet->getStyle('A1:D1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$sheet->getStyle('A1:D1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$sheet->getStyle('A1:D1')->getFill()->getStartColor()->setARGB('FF808080');
$sheet->getStyle('A1:D1')->getFont()->setBold(true);
$sheet->getStyle('A1:D1')->getFont()->getColor()->setARGB('FFFFFFFF');
//
$sheet->getColumnDimension('A')->setWidth(14);
$sheet->getColumnDimension('B')->setWidth(14);
$sheet->getColumnDimension('C')->setWidth(14);
$sheet->getColumnDimension('D')->setWidth(100);
$sheet->getStyle('A2:A'.(count($res['items'])+1))->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);

foreach ($items as $r) {
$i++;
$url = 'http://test.com/'.$r['no'];
$objRichText3 = new PHPExcel_RichText();
$objRichText3->createText("Hello ");
$sheet->setCellValue('A'.$i, $r['no'])
->setCellValue('B'.$i, $r['desc'])
->setCellValue('C'.$i, $r['amt'])
->setCellValue('D'.$i, $r['title']);
$a_text = new PHPExcel_RichText();
$a_text->createText($r['no']);
$a_text->createTextRun($r['no'])->getFont()->setUnderline(true);
$sheet->getCell('A'.$i)->setValue($a_text);
$sheet->getCell('A'.$i)->getHyperlink()->setUrl($url);
}

//--- 메모리 초기화
$objPHPExcel->disconnectWorksheets();
$objPHPExcel->garbageCollect();
unset($objPHPExcel);
댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
4.28
4.29
4.30
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25
5.26
5.27
5.28
5.29
5.30
5.31
6.1