2014-10-15 3 views
1

xlsx 파일을 열려고합니다.Perl - xlsx 파일 열기 오류

Can't locate object method "new" via package "SpreadSheet::XLSX" (perhaps you forgot to load "SpreadSheet::XLSX"?) 

당신이 나를 XLSX 파일을 구문 분석하는 데 도움이 될 수 있습니다 이것에 대한 주위에 일을해야합니까 : 나는 아래의 코드와 같이 해당 파일을 구문 분석 할 때, 나는 아래의 오류가? 또한 제공된 경로에 파일이 있습니다. 작성

코드는 다음과 같습니다 : 당신의 도움에 대한

#!/usr/bin/perl -w 
use strict; 
use warnings; 

use Text::Iconv; 
use Spreadsheet::XLSX; 
use Date::Format; 

my $converter = Text::Iconv->new("utf-8", "windows-1251"); 

# Read the data from a file. 
my $prod_otp = SpreadSheet::XLSX->new('/home/okal/Book1.xlsx', $converter); 

if (!defined $prod_otp) { 
    die $prod_otp->error(), ".\n"; 
} 

for my $worksheet ($prod_otp->worksheet()) { 
    my ($row_min, $row_max) = $worksheet->row_range(); 
    my ($col_min, $col_max) = $worksheet->col_range(); 

    for my $row ($row_min .. $row_max) { 
     for my $col ($col_min .. $col_max) { 
      my $cell = worksheet->get_cell($row, $col); 
      next unless $cell; 

      print "Row, Col = ($row, $col)\n"; 
     } 
    } 
} 

감사합니다.

+0

안녕 밀러, 그냥 보류에이 질문은 당신과 함께 확인하고 싶었던가요? RET에서 제안한대로이 오류를 전달할 수있었습니다. 내 질문이 해결되면 토론을 어떻게 닫을 수 있습니까? – user1985039

답변

5

SpreadSheet:XLSX 또는 Spreadsheet::XLSX입니다. Perl 모듈 이름은 대소 문자를 구분합니다.

->new()으로 전화를 걸면 사실 use 문이 올바른 변형 일 수 있습니다.

+1

그래; 큰 S, 그 다음 작은 s. [Spreadsheet :: XLSX] (https://metacpan.org/pod/Spreadsheet::XLSX) –

+0

감사합니다. 그 오류를 전달할 수있었습니다. 귀하의 의견을 보내 주셔서 감사합니다. – user1985039

+0

[환영합니다.] (http://stackoverflow.com/help/someone-answers) – RET