티스토리 뷰
php
[php] php엑셀리더 (phpExcelReader) Spreadsheet_Excel_Reader AutoSet10 환경에서 실행하기
xemaker 2017. 12. 13. 11:01AutoSet10 환경에서 server/bin 디렉토리의 php.exe를 실행해서 phpExcelReader 삽질기를 공개하겠다.
장장 3일간의 삽질기...
준비단계
phpExcelReader를 다운받아서 server/bin/phpExcelReader 에 위치시켰다.
그리고 example.php 를 e.php로 이름을 바꿔서 복사하고 실행한다.
cmd창에서
C:\AutoSet10\server\bin> php phpExcelReader/e.php
하였다.
그럼 아래와 같이 삽질하게 나온다.
1. 초기 실행
Parse error: syntax error, unexpected 'new' (T_NEW) in C:\AutoSet10\server\bin\phpExcelReader\Excel\reader.php on line 261
해결방법:
Excel/reader.php 파일을 열어서
261 번째 줄 $this->_ole =& new OLEReade();
이렇게 되어 있는 부분의 &제거 한다.
2. &제거 후 실행하면 아래와 같은 오류 발생
Warning: require_once(Spreadsheet/Excel/Reader/OLERead.php): failed to open stream: No such file or directory in C:\AutoSet10\server\bin\phpExcelReader\Excel\reader.php on line 31
Fatal error: require_once(): Failed opening required 'Spreadsheet/Excel/Reader/O
LERead.php' (include_path='.;C:\php\pear') in C:\AutoSet10\server\bin\phpExcelReader\Excel\reader.php on line 31
해결방법:
Excel/reader.php 파일을 열어서
require_once 'Spreadsheet/Excel/Reader/OLERead.php';
이렇게 되어 있는것을
require_once 'oleread.inc';
로 바꿔준다.
3.
Fatal error: Uncaught Error: Class 'OLERead' not found in C:\AutoSet10\server\bin\phpExcelReader\Excel\reader.php:261
Stack trace:
#0 C:\AutoSet10\server\bin\phpExcelReader\e.php(8): Spreadsheet_Excel_Reader->Spreadsheet_Excel_Reader()
#1 {main}
thrown in C:\AutoSet10\server\bin\phpExcelReader\Excel\reader.php on line 261
이 에러는 나는 곳이 있었고 안나는 곳이 있었다.
안나는 곳은 Path가
C:\AutoSet10\Server\bin 으로 잡혀있는것 같았다.
에러가 나는 곳은 reader.php 파일에서
require_once 'C:\AutoSet10\server\bin\phpExcelReader\Excel\oleread.inc';
이렇게 풀(full) 경로로 써준다.
4. The filename jxlrwtest.xls is not readable.
해결방법:
jxlrwtest.xls 을 열어보니 안열렸다.
그래서 엑셀파일을 하나 만들었다.
첫번째 셀에 test만 입력해서..
mytest.xls로 만들었고 소스도 수정.
5. The filename mytest.xls is not readable.
역시나 안됐다.
e.php 파일에
$data->read('mytest.xls'); ->
$data->read('C:\AutoSet10\server\bin\phpExcelReader\mytest.xls'); ->
6. 다시 실행
C:\AutoSet10\server\bin> php phpExcelReader/e.php
"test",
가 찍혔다.
드디어 성공!
을 외치고 싶었으나
7. 한글출력안됨.
e.php 파일을 열어 12번째 줄에
$data->setOutputEncoding('CP1251'); ->
$data->setOutputEncoding('CP949');
바꾸면 된다.
장장 3일간의 삽질기...
준비단계
phpExcelReader를 다운받아서 server/bin/phpExcelReader 에 위치시켰다.
그리고 example.php 를 e.php로 이름을 바꿔서 복사하고 실행한다.
cmd창에서
C:\AutoSet10\server\bin> php phpExcelReader/e.php
하였다.
그럼 아래와 같이 삽질하게 나온다.
1. 초기 실행
Parse error: syntax error, unexpected 'new' (T_NEW) in C:\AutoSet10\server\bin\phpExcelReader\Excel\reader.php on line 261
해결방법:
Excel/reader.php 파일을 열어서
261 번째 줄 $this->_ole =& new OLEReade();
이렇게 되어 있는 부분의 &제거 한다.
2. &제거 후 실행하면 아래와 같은 오류 발생
Warning: require_once(Spreadsheet/Excel/Reader/OLERead.php): failed to open stream: No such file or directory in C:\AutoSet10\server\bin\phpExcelReader\Excel\reader.php on line 31
Fatal error: require_once(): Failed opening required 'Spreadsheet/Excel/Reader/O
LERead.php' (include_path='.;C:\php\pear') in C:\AutoSet10\server\bin\phpExcelReader\Excel\reader.php on line 31
해결방법:
Excel/reader.php 파일을 열어서
require_once 'Spreadsheet/Excel/Reader/OLERead.php';
이렇게 되어 있는것을
require_once 'oleread.inc';
로 바꿔준다.
3.
Fatal error: Uncaught Error: Class 'OLERead' not found in C:\AutoSet10\server\bin\phpExcelReader\Excel\reader.php:261
Stack trace:
#0 C:\AutoSet10\server\bin\phpExcelReader\e.php(8): Spreadsheet_Excel_Reader->Spreadsheet_Excel_Reader()
#1 {main}
thrown in C:\AutoSet10\server\bin\phpExcelReader\Excel\reader.php on line 261
이 에러는 나는 곳이 있었고 안나는 곳이 있었다.
안나는 곳은 Path가
C:\AutoSet10\Server\bin 으로 잡혀있는것 같았다.
에러가 나는 곳은 reader.php 파일에서
require_once 'C:\AutoSet10\server\bin\phpExcelReader\Excel\oleread.inc';
이렇게 풀(full) 경로로 써준다.
4. The filename jxlrwtest.xls is not readable.
해결방법:
jxlrwtest.xls 을 열어보니 안열렸다.
그래서 엑셀파일을 하나 만들었다.
첫번째 셀에 test만 입력해서..
mytest.xls로 만들었고 소스도 수정.
5. The filename mytest.xls is not readable.
역시나 안됐다.
e.php 파일에
$data->read('mytest.xls'); ->
$data->read('C:\AutoSet10\server\bin\phpExcelReader\mytest.xls'); ->
6. 다시 실행
C:\AutoSet10\server\bin> php phpExcelReader/e.php
"test",
가 찍혔다.
드디어 성공!
을 외치고 싶었으나
7. 한글출력안됨.
e.php 파일을 열어 12번째 줄에
$data->setOutputEncoding('CP1251'); ->
$data->setOutputEncoding('CP949');
바꾸면 된다.
'php' 카테고리의 다른 글
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- php
- MySQL
- proc
- EC
- XE3
- 자바 smtp
- 자바
- ocajp
- esql
- 자바 셀레니움
- ocpjp
- 포인터
- 인포믹스
- 스크래핑
- 파싱
- C언어
- XE
- 프로씨
- xe애드온
- 문자열
- KG
- Python
- 이클립스
- 오라클
- C
- JDBC
- ocjap
- xe addon
- webix
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함