웹솔루션개발 22년 노하우! 해피CGI의 모든것

[해피CGI][cgimall] phpExcelReader 본문

웹프로그램밍 자료실/PHP 자료

[해피CGI][cgimall] phpExcelReader

해피CGI윤실장 2016. 12. 5. 14:00

https://sourceforge.net/projects/phpexcelreader/ 에서 소스는 다운로드 가능합니다.
그러나 배포되는 버젼에 문제가 조금 있어서 몇가지 교정하여 올리니 참고해 주세요.


[설치방법]
간단합니다. 다운로드 받으셔서 압축해제 하시고 사용하시면 됩니다.
저는 AutoSet 을 이용하여 테스트를 했구요. 설치 경로 이미지 첨부 합니다.


그리고 처음 실행화면 첨부해 드립니다.




[문제점]

  1. 샘플코드를 이용하려 할 경우 오류발생
  2. PHP 5.3 이상 버젼에서 Deprecated 오류 발생.
  3. 엑셀에 한글 들어 있을 경우 한글 깨짐 증상.

   
문제점을 아래의 설명을 따라서 수정하세요.

  1. reader.php
    31번째 require_once 'Spreadsheet/Excel/Reader/OLERead.php'; 을 아래와 같이 주석처리하고 코드를 추가함.
    //require_once 'Spreadsheet/Excel/Reader/OLERead.php';
    require_once 'oleread.inc';
      
  2. reader.php
    262 번째 라인의 $this->_ole =& new OLERead(); 을 아래와 같이 변경함.
    $this->_ole = new OLERead();
       
  3. example.php
    12 번째 라인의 $data->setOutputEncoding('CP1251'); 을 아래와 같이 변경하세요.
    $data->setOutputEncoding('CP949');  
      
  4. 압축파일에 저장되어 있는 엑셀 파일은 오류가 있는 엑셀파일로 보여 집니다.
    그래서 엑셀파일을 다른 파일로 호출해 보니 정상작동 하는게 확인 되네요.
    그리고 팁으로 안내드리면 좀 더 보기 쉽게 Table 형식으로 보시려면 아래의 코드를 이용해 보세요.
     
    require_once 'Excel/reader.php';
    $data = new Spreadsheet_Excel_Reader();
    $data->setOutputEncoding('CP949'); // 한글을 표시해야 할 경우 CP949 로 설정하세요.
    $data->read('jxlrwtest2.xls');
    error_reporting(E_ALL ^ E_NOTICE);
    echo "<table border=1>";
    for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
           echo "<tr>";
           for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
                  echo "<td>&nbsp;".$data->sheets[0]['cells'][$i][$j]."</td>";
           }
           echo "</tr>\n";
    }
    echo "</table>";

 

 

홈페이지바로가기 

Comments