2010-02-03 3 views
1

스프레드 시트는 엑셀 호환 97-2003 및 권한

use strict; 
use Spreadsheet::ParseExcel; 
print "Content-type: text/html\n\n"; 
my $parser = Spreadsheet::ParseExcel->new(); 
print "<br>gets here:".__LINE__; 
my $workbook = $parser->parse('test.xls'); 
print "<br>never gets here:".__LINE__; 

답변

4

최신 Spreadsheet::ParseExcel을 사용하십니까? 현재 버전은 0.57입니다.

나는 CGI로 이것을 실행하는 것을 본다. 명령 줄에서 (같은 테스트 파일을 사용하여) 로컬로 실행할 수 있으며 오류 메시지가 있는지 확인할 수 있습니까?

는 (여전히 더 나은 명령 줄에서 실행) 평가를 사용하여도 시도하고 $ 파서가 정의되어 있는지 확인 :

print '$parser is undef<br>' unless defined $parser; 
eval { 
    my $workbook = $parser->parse('test.xls'); 
}; 
print "Error message from eval: [email protected]<br>"; 

다른 Excel 파일을보십시오.

여전히 오류를 알 수없고 특정 Excel 파일의 경우 bug tracker에 버그를보고하십시오.

+1

홍당무 : - 평가에서 오류 메시지 : 감사 CPAN 페이지를 구문 분석하지 분석 말하는가 – zzapper

0

무엇보다 파일 경로 문제와 같은 소리 777입니다. 구문 분석 함수에 절대 경로를 지정하려고 시도 했습니까? 예 : $ parser-> parse ('/ usr/local/www/host/htdocs/test.xls');

0

정말 돌아 오지 않는 경우 무한 루프에 걸려 있어야합니다. Perl 디버거를 사용하여 명령 행에서 스크립트를 실행 해보십시오. CGI 스크립트가이 방법으로 읽을 수 있는지, 그리고 그들이 펄 디버거는 당신의 목록을 말할 것이다 그래서

~$ perl -d my_cgi.cgi var=foo var2=bar bananas=delicious 

처럼 VAL = 양식 KEY의 명령 행 인수에 동의 함을

~$ perl -d my_script.pl 

주 (당신이 무한 루프 문제의 어떤 종류가 있음을 발견하면

n: go to the next line 

s: step into the next line (if it is a sub, otherwise is identical to 'n') 

v: view the next few lines (can be used repeatedly) 

c: continue to a line or subroutine 

는 다음 http://rt.cpan.org에 버그로 제출 : 당신은 '시간'을 입력하면 그것을 받아들이는 명령하지만, 가장 중요한 사람은 specificially, 여기 : https://rt.cpan.org/Public/Dist/Display.html?Name=Spreadsheet-ParseExcel)

1

내가) 알렉산드르-ciornii에서 권장하는대로 내가 평가를 (사용에 inexistant 방법 덕분에 사용하려고했던 발견되면

나를 위해 일했다 무엇

$workbook = Spreadsheet::ParseExcel::Workbook->Parse('test.xls'); 
+0

...에서 패키지 "스프레드 시트 : : ParseExcel"를 통해 객체 메소드 "구문 분석"을 찾아 그렇게 할 수 없음이 아니다 네 잘못이야. –

3

I Spreadsheet :: ParseExcel의 관리자입니다.

parse() 메서드는 최신 버전에서만 사용할 수 있습니다. 최신 버그 픽스를 받기 위해 업그레이드를 권장합니다.

최신 버전은 구문 분석 오류를보고하는 방법이 error() and error_code()입니다.

존.