Perl – 无法访问Excel文件

我正在尝试探索Perl并做一些示例代码。 我试着读excel使用Perl。 我下载了Spreadsheet-ParseExcel并安装在我的机器上。 我尝试了下面的代码:

 #!"C:\Perl64\bin\perl.exe" use CGI; use strict; use Spreadsheet::ParseExcel; my $FileName = “C:/excel/Onsite_Report(15).xlsx"; my $parser = Spreadsheet::ParseExcel->new(); my $workbook = $parser->parse($FileName); die $parser->error(), ".\n" if ( !defined $workbook ); # Following block is used to Iterate through all worksheets # in the workbook and print the worksheet content for my $worksheet ( $workbook->worksheets() ) { # Find out the worksheet ranges 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 ) { # Return the cell object at $row and $col my $cell = $worksheet->get_cell( $row, $col ); next unless $cell; print "Row, Col = ($row, $col)\n"; print "Value = ", $cell->value(), "\n"; } } } 

它会抛出像这样的错误:

 C:\xampp\cgi-bin>perl perltest3.cgi Unrecognized character \xE2; marked by <-- HERE after ileName = <-- HERE near co lumn 20 at perltest3.cgi line 6. 

请指教。

你有一个不寻常的双引号字符。

 my $FileName = “C:/excel/Onsite_Report(15).xlsx"; # ^------ here 

Spreadsheet :: ParseExcel不parsingxlsx文件(除非它们只是错误的xls文件)。 为此,您应该使用Spreadsheet :: XLSX 。 你也可以尝试使用“ dir /x ”显示的短文件名